17 #ifndef __TBB_blocked_range3d_H    18 #define __TBB_blocked_range3d_H    27 template<
typename PageValue, 
typename RowValue=PageValue, 
typename ColValue=RowValue>
    43                      RowValue  row_begin,  RowValue row_end,
    44                      ColValue  col_begin,  ColValue col_end ) :
    53         my_pages(page_begin,page_end,page_grainsize),
    54         my_rows(row_begin,row_end,row_grainsize),
    55         my_cols(col_begin,col_end,col_grainsize)
    78 #if __TBB_USE_PROPORTIONAL_SPLIT_IN_BLOCKED_RANGES   102     template <
typename Split>
 bool is_divisible() const
True if range is divisible into two pieces.
 
bool empty() const
True if range is empty.
 
const col_range_type & cols() const
The columns of the iteration space.
 
bool empty() const
True if range is empty.
 
std::size_t size_type
Type for size of a range.
 
const page_range_type & pages() const
The pages of the iteration space.
 
A 3-dimensional range that models the Range concept.
 
Type enables transmission of splitting proportion from partitioners to range objects.
 
blocked_range< ColValue > col_range_type
 
size_type grainsize() const
The grain size for this range.
 
blocked_range< RowValue > row_range_type
 
static ColValue do_split(blocked_range &r, split)
Auxiliary function used by the splitting constructor.
 
blocked_range< PageValue > page_range_type
Type for size of an iteration range.
 
blocked_range3d(PageValue page_begin, PageValue page_end, typename page_range_type::size_type page_grainsize, 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)
 
size_type size() const
Size of the range.
 
blocked_range3d(blocked_range3d &r, split)
 
const row_range_type & rows() const
The rows of the iteration space.
 
Dummy type that distinguishes splitting constructor from copy constructor.
 
static const bool is_splittable_in_proportion
Static field to support proportional split.
 
blocked_range3d(blocked_range3d &r, proportional_split &proportion)
 
blocked_range3d(PageValue page_begin, PageValue page_end, RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end)
 
void do_split(blocked_range3d &r, Split &split_obj)
 
bool is_divisible() const
True if range is divisible.