17 #ifndef __TBB_blocked_range_H 18 #define __TBB_blocked_range_H 28 template<
typename Value,
unsigned int N,
typename>
44 template<
typename Value>
55 #if __TBB_DEPRECATED_BLOCKED_RANGE_DEFAULT_CTOR 107 #if __TBB_USE_PROPORTIONAL_SPLIT_IN_BLOCKED_RANGES 139 #if __TBB_USE_PROPORTIONAL_SPLIT_IN_BLOCKED_RANGES 151 /
float(proportion.
left() + proportion.
right()) + 0.5f);
156 template<
typename RowValue,
typename ColValue>
159 template<
typename RowValue,
typename ColValue,
typename PageValue>
162 template<
typename DimValue,
unsigned int N,
typename>
bool empty() const
True if range is empty.
std::size_t size_type
Type for size of a range.
A 3-dimensional range that models the Range concept.
Type enables transmission of splitting proportion from partitioners to range objects.
blocked_range(blocked_range &r, split)
Split range.
size_type grainsize() const
The grain size for this range.
static Value do_split(blocked_range &r, split)
Auxiliary function used by the splitting constructor.
const_iterator begin() const
Beginning of range.
Value const_iterator
Type of a value.
blocked_range(Value begin_, Value end_, size_type grainsize_=1)
Construct range over half-open interval [begin,end), with the given grainsize.
size_type size() const
Size of the range.
blocked_range(blocked_range &r, proportional_split &proportion)
Split range.
A 2-dimensional range that models the Range concept.
Dummy type that distinguishes splitting constructor from copy constructor.
static const bool is_splittable_in_proportion
Static field to support proportional split.
A range over which to iterate.
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
const_iterator end() const
One past last value in range.
bool is_divisible() const
True if range is divisible.
static Value do_split(blocked_range &r, proportional_split &proportion)