Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
A 3-dimensional range that models the Range concept. More...
#include <blocked_range3d.h>
Public Types | |
typedef blocked_range< PageValue > | page_range_type |
Type for size of an iteration range. More... | |
typedef blocked_range< RowValue > | row_range_type |
typedef blocked_range< ColValue > | col_range_type |
Public Member Functions | |
blocked_range3d (PageValue page_begin, PageValue page_end, RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end) | |
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) | |
bool | empty () const |
True if range is empty. More... | |
bool | is_divisible () const |
True if range is divisible into two pieces. More... | |
blocked_range3d (blocked_range3d &r, split) | |
blocked_range3d (blocked_range3d &r, proportional_split &proportion) | |
const page_range_type & | pages () const |
The pages of the iteration space. More... | |
const row_range_type & | rows () const |
The rows of the iteration space. More... | |
const col_range_type & | cols () const |
The columns of the iteration space. More... | |
Static Public Attributes | |
static const bool | is_splittable_in_proportion = true |
Static field to support proportional split. More... | |
Private Member Functions | |
template<typename Split > | |
void | do_split (blocked_range3d &r, Split &split_obj) |
Private Attributes | |
page_range_type | my_pages |
row_range_type | my_rows |
col_range_type | my_cols |
A 3-dimensional range that models the Range concept.
Definition at line 28 of file blocked_range3d.h.
typedef blocked_range<ColValue> tbb::blocked_range3d< PageValue, RowValue, ColValue >::col_range_type |
Definition at line 33 of file blocked_range3d.h.
typedef blocked_range<PageValue> tbb::blocked_range3d< PageValue, RowValue, ColValue >::page_range_type |
Type for size of an iteration range.
Definition at line 31 of file blocked_range3d.h.
typedef blocked_range<RowValue> tbb::blocked_range3d< PageValue, RowValue, ColValue >::row_range_type |
Definition at line 32 of file blocked_range3d.h.
|
inline |
Definition at line 42 of file blocked_range3d.h.
|
inline |
Definition at line 50 of file blocked_range3d.h.
|
inline |
Definition at line 69 of file blocked_range3d.h.
References tbb::blocked_range3d< PageValue, RowValue, ColValue >::do_split().
|
inline |
Definition at line 82 of file blocked_range3d.h.
References tbb::blocked_range3d< PageValue, RowValue, ColValue >::do_split().
|
inline |
The columns of the iteration space.
Definition at line 98 of file blocked_range3d.h.
References tbb::blocked_range3d< PageValue, RowValue, ColValue >::my_cols.
|
inlineprivate |
Definition at line 103 of file blocked_range3d.h.
References tbb::blocked_range< ColValue >::do_split(), tbb::blocked_range< RowValue >::do_split(), tbb::blocked_range< PageValue >::do_split(), tbb::blocked_range< Value >::grainsize(), tbb::blocked_range< Value >::my_begin, tbb::blocked_range3d< PageValue, RowValue, ColValue >::my_cols, tbb::blocked_range3d< PageValue, RowValue, ColValue >::my_pages, tbb::blocked_range3d< PageValue, RowValue, ColValue >::my_rows, and tbb::blocked_range< Value >::size().
Referenced by tbb::blocked_range3d< PageValue, RowValue, ColValue >::blocked_range3d().
|
inline |
True if range is empty.
Definition at line 59 of file blocked_range3d.h.
References tbb::blocked_range< Value >::empty(), tbb::blocked_range3d< PageValue, RowValue, ColValue >::my_cols, tbb::blocked_range3d< PageValue, RowValue, ColValue >::my_pages, and tbb::blocked_range3d< PageValue, RowValue, ColValue >::my_rows.
|
inline |
True if range is divisible into two pieces.
Definition at line 65 of file blocked_range3d.h.
References tbb::blocked_range< Value >::is_divisible(), tbb::blocked_range3d< PageValue, RowValue, ColValue >::my_cols, tbb::blocked_range3d< PageValue, RowValue, ColValue >::my_pages, and tbb::blocked_range3d< PageValue, RowValue, ColValue >::my_rows.
|
inline |
The pages of the iteration space.
Definition at line 92 of file blocked_range3d.h.
References tbb::blocked_range3d< PageValue, RowValue, ColValue >::my_pages.
|
inline |
The rows of the iteration space.
Definition at line 95 of file blocked_range3d.h.
References tbb::blocked_range3d< PageValue, RowValue, ColValue >::my_rows.
|
static |
Static field to support proportional split.
Definition at line 80 of file blocked_range3d.h.
|
private |
Definition at line 38 of file blocked_range3d.h.
Referenced by tbb::blocked_range3d< PageValue, RowValue, ColValue >::cols(), tbb::blocked_range3d< PageValue, RowValue, ColValue >::do_split(), tbb::blocked_range3d< PageValue, RowValue, ColValue >::empty(), and tbb::blocked_range3d< PageValue, RowValue, ColValue >::is_divisible().
|
private |
Definition at line 36 of file blocked_range3d.h.
Referenced by tbb::blocked_range3d< PageValue, RowValue, ColValue >::do_split(), tbb::blocked_range3d< PageValue, RowValue, ColValue >::empty(), tbb::blocked_range3d< PageValue, RowValue, ColValue >::is_divisible(), and tbb::blocked_range3d< PageValue, RowValue, ColValue >::pages().
|
private |
Definition at line 37 of file blocked_range3d.h.
Referenced by tbb::blocked_range3d< PageValue, RowValue, ColValue >::do_split(), tbb::blocked_range3d< PageValue, RowValue, ColValue >::empty(), tbb::blocked_range3d< PageValue, RowValue, ColValue >::is_divisible(), and tbb::blocked_range3d< PageValue, RowValue, ColValue >::rows().