Name
blocked_range<Value> Template Class — Template class for a recursively divisible half-open interval.
Synopsis
#include "tbb/blocked_range.h" template<typename Value> class blocked_range;
Description
A blocked_range<Value> represents a half-open range [i,j) that can be recursively split. The types i and j must model the requirements in Table 3-3. Because the requirements are pseudosignatures, signatures that differ in ways that can be implicitly converted are allowed. For example, a blocked_range<int> is allowed because the difference of two int values can be implicitly converted to a 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.
A blocked_range models the Range Concept.
Table 3-3. Value Concept for block_range
|
Pseudosignature |
Semantics |
|---|---|
|
|
Copy constructor |
|
|
Destructor |
|
|
Value |
|
|
Number of values in range [ |
|
|
kth value after |
A blocked_range<Value> specifies a grainsize of type size_t. A blocked_range is splittable into two subranges if the size of the range exceeds grainsize. The ideal grain size depends upon the context of the blocked_range<Value>, which is typically the range argument to the loop templates parallel_for, parallel_reduce