.. SPDX-FileCopyrightText: 2019-2020 Intel Corporation .. .. SPDX-License-Identifier: CC-BY-4.0 ================= BlockedRangeValue ================= **[req.blocked_range_value]** A type `Value` satisfies `BlockedRangeValue` if it meets the following requirements: ------------------------------------------------------------------------------------------ **BlockedRangeValue Requirements: Pseudo-Signature, Semantics** .. cpp:function:: Value::Value( const Value& ) Copy constructor. .. cpp:function:: Value::~Value() Destructor. .. cpp:function:: void operator=( const Value& ) Assignment. .. note:: The return type ``void`` in the pseudo-signature denotes that ``operator=`` is not required to return a value. The actual ``operator=`` can return a value, which will be ignored by ``blocked_range`` . .. cpp:function:: bool operator<( const Value& i, const Value& j ) Value *i* precedes value *j*. .. cpp:function:: D operator-( const Value& i, const Value& j ) Number of values in range ``[i,j)``. .. cpp:function:: Value operator+( const Value& i, D k ) *k*-th value after *i*. ``D`` is the type of the expression ``j-i``. It can be any integral type that is convertible to ``size_t``. Examples that model the Value requirements are integral types, pointers, and STL random-access iterators whose difference can be implicitly converted to a ``size_t``. See also: * :doc:`blocked_range class <../../algorithms/blocked_ranges/blocked_range_cls>` * :doc:`blocked_range2d class <../../algorithms/blocked_ranges/blocked_range2d_cls>` * :doc:`blocked_range3d class <../../algorithms/blocked_ranges/blocked_range3d_cls>` * :doc:`parallel_reduce algorithm <../../algorithms/functions/parallel_reduce_func>` * :doc:`parallel_for algorithm <../../algorithms/functions/parallel_for_func>`