21 #ifndef __TBB_blocked_range_H 22 #define __TBB_blocked_range_H 32 template<
typename Value,
unsigned int N,
typename>
48 template<
typename Value>
59 #if __TBB_DEPRECATED_BLOCKED_RANGE_DEFAULT_CTOR 111 #if __TBB_USE_PROPORTIONAL_SPLIT_IN_BLOCKED_RANGES 143 #if __TBB_USE_PROPORTIONAL_SPLIT_IN_BLOCKED_RANGES 155 /
float(proportion.
left() + proportion.
right()) + 0.5f);
160 template<
typename RowValue,
typename ColValue>
163 template<
typename RowValue,
typename ColValue,
typename PageValue>
166 template<
typename DimValue,
unsigned int N,
typename>
167 friend class internal::blocked_rangeNd_impl;
Type enables transmission of splitting proportion from partitioners to range objects.
const_iterator begin() const
Beginning of range.
blocked_range(blocked_range &r, split)
Split range.
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.
A 3-dimensional range that models the Range concept.
blocked_range(Value begin_, Value end_, size_type grainsize_=1)
Construct range over half-open interval [begin,end), with the given grainsize.
blocked_range(blocked_range &r, proportional_split &proportion)
Split range.
static Value do_split(blocked_range &r, split)
Auxiliary function used by the splitting constructor.
size_type size() const
Size of the range.
const_iterator end() const
One past last value in range.
bool empty() const
True if range is empty.
Dummy type that distinguishes splitting constructor from copy constructor.
bool is_divisible() const
True if range is divisible.
size_type grainsize() const
The grain size for this range.
std::size_t size_type
Type for size of a range.
A 2-dimensional range that models the Range concept.
Value const_iterator
Type of a value.
static Value do_split(blocked_range &r, proportional_split &proportion)