# BlockedRangeValue

[req.blocked_range_value]

A type Value satisfies BlockedRangeValue if it meets the following requirements:

BlockedRangeValue Requirements: Pseudo-Signature, Semantics

Value::Value(const Value&)

  Copy constructor.

Value::~Value()

  Destructor.

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` .

bool operator<(const Value &i, const Value &j)

  Value i precedes value j.

D operator-(const Value &i, const Value &j)

  Number of values in range `[i,j)`.

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:

- blocked_range class

- blocked_range2d class

- blocked_range3d class

- blocked_nd_range class

- parallel_reduce algorithm

- parallel_for algorithm