17 #ifndef __TBB_blocked_range2d_H 18 #define __TBB_blocked_range2d_H 27 template<
typename RowValue,
typename ColValue=RowValue>
42 my_rows(row_begin,row_end,row_grainsize),
43 my_cols(col_begin,col_end,col_grainsize)
47 ColValue col_begin, ColValue col_end ) :
48 my_rows(row_begin,row_end),
49 my_cols(col_begin,col_end)
71 #if __TBB_USE_PROPORTIONAL_SPLIT_IN_BLOCKED_RANGES 91 template <
typename Split>
bool is_divisible() const
True if range is divisible into two pieces.
size_type size() const
Size of the range.
blocked_range2d(blocked_range2d &r, split)
void do_split(blocked_range2d &r, Split &split_obj)
static const bool is_splittable_in_proportion
Static field to support proportional split.
blocked_range2d(RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end)
std::size_t size_type
Type for size of a range.
const col_range_type & cols() const
The columns of the iteration space.
bool empty() const
True if range is empty.
bool empty() const
True if range is empty.
Dummy type that distinguishes splitting constructor from copy constructor.
blocked_range2d(RowValue row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize, ColValue col_begin, ColValue col_end, typename col_range_type::size_type col_grainsize)
blocked_range< ColValue > col_range_type
A 2-dimensional range that models the Range concept.
blocked_range2d(blocked_range2d &r, proportional_split &proportion)
const row_range_type & rows() const
The rows of the iteration space.
bool is_divisible() const
True if range is divisible.
size_type grainsize() const
The grain size for this range.
Type enables transmission of splitting proportion from partitioners to range objects.
blocked_range< RowValue > row_range_type
Type for size of an iteration range.
static ColValue do_split(blocked_range &r, split)
Auxiliary function used by the splitting constructor.