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

BlockedRangeValue Requirements: Pseudo-Signature, Semantics

Value::Value(const Value&)

Copy constructor.



void operator=(const Value&)


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.