Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
A range over which to iterate. More...
#include <blocked_range.h>
Public Types | |
typedef Value | const_iterator |
Type of a value. More... | |
typedef std::size_t | size_type |
Type for size of a range. More... | |
Public Member Functions | |
blocked_range (Value begin_, Value end_, size_type grainsize_=1) | |
Construct range over half-open interval [begin,end), with the given grainsize. More... | |
const_iterator | begin () const |
Beginning of range. More... | |
const_iterator | end () const |
One past last value in range. More... | |
size_type | size () const |
Size of the range. More... | |
size_type | grainsize () const |
The grain size for this range. More... | |
bool | empty () const |
True if range is empty. More... | |
bool | is_divisible () const |
True if range is divisible. More... | |
blocked_range (blocked_range &r, split) | |
Split range. More... | |
blocked_range (blocked_range &r, proportional_split &proportion) | |
Split range. More... | |
Static Public Attributes | |
static const bool | is_splittable_in_proportion = true |
Static field to support proportional split. More... | |
Static Private Member Functions | |
static Value | do_split (blocked_range &r, split) |
Auxiliary function used by the splitting constructor. More... | |
static Value | do_split (blocked_range &r, proportional_split &proportion) |
Private Attributes | |
Value | my_end |
Value | my_begin |
size_type | my_grainsize |
Friends | |
template<typename RowValue , typename ColValue > | |
class | blocked_range2d |
template<typename RowValue , typename ColValue , typename PageValue > | |
class | blocked_range3d |
template<typename DimValue , unsigned int N, typename > | |
class | internal::blocked_rangeNd_impl |
A range over which to iterate.
Definition at line 45 of file blocked_range.h.
typedef Value tbb::blocked_range< Value >::const_iterator |
Type of a value.
Called a const_iterator for sake of algorithms that need to treat a blocked_range as an STL container.
Definition at line 50 of file blocked_range.h.
typedef std::size_t tbb::blocked_range< Value >::size_type |
Type for size of a range.
Definition at line 53 of file blocked_range.h.
|
inline |
Construct range over half-open interval [begin,end), with the given grainsize.
Definition at line 62 of file blocked_range.h.
|
inline |
Split range.
The new Range *this has the second part, the old range r has the first part. Unspecified if end()<begin() or !is_divisible().
Definition at line 98 of file blocked_range.h.
|
inline |
Split range.
The new Range *this has the second part split according to specified proportion, the old range r has the first part. Unspecified if end()<begin() or !is_divisible().
Definition at line 114 of file blocked_range.h.
|
inline |
Beginning of range.
Definition at line 69 of file blocked_range.h.
Referenced by tbb::internal::parallel_for_each_body_for< Function, Iterator >::operator()(), tbb::interface9::internal::quick_sort_pretest_body< RandomAccessIterator, Compare >::operator()(), tbb::internal::parallel_for_body< Function, Index >::operator()(), and tbb::blocked_range< I >::size().
|
inlinestaticprivate |
Auxiliary function used by the splitting constructor.
Definition at line 131 of file blocked_range.h.
|
inlinestaticprivate |
Definition at line 140 of file blocked_range.h.
|
inline |
True if range is empty.
Definition at line 89 of file blocked_range.h.
Referenced by tbb::blocked_range2d< RowValue, ColValue >::empty(), and tbb::blocked_range3d< PageValue, RowValue, ColValue >::empty().
|
inline |
One past last value in range.
Definition at line 72 of file blocked_range.h.
Referenced by tbb::internal::parallel_for_each_body_for< Function, Iterator >::operator()(), tbb::interface9::internal::quick_sort_pretest_body< RandomAccessIterator, Compare >::operator()(), tbb::internal::parallel_for_body< Function, Index >::operator()(), and tbb::blocked_range< I >::size().
|
inline |
The grain size for this range.
Definition at line 82 of file blocked_range.h.
Referenced by tbb::blocked_range2d< RowValue, ColValue >::do_split(), and tbb::blocked_range3d< PageValue, RowValue, ColValue >::do_split().
|
inline |
True if range is divisible.
Definition at line 93 of file blocked_range.h.
Referenced by tbb::blocked_range< I >::do_split(), tbb::blocked_range2d< RowValue, ColValue >::is_divisible(), and tbb::blocked_range3d< PageValue, RowValue, ColValue >::is_divisible().
|
inline |
Size of the range.
Definition at line 76 of file blocked_range.h.
Referenced by tbb::blocked_range2d< RowValue, ColValue >::do_split(), tbb::blocked_range3d< PageValue, RowValue, ColValue >::do_split(), tbb::blocked_range< I >::do_split(), and tbb::blocked_range< I >::is_divisible().
|
friend |
Definition at line 157 of file blocked_range.h.
|
friend |
Definition at line 160 of file blocked_range.h.
|
friend |
Definition at line 163 of file blocked_range.h.
|
static |
Static field to support proportional split.
Definition at line 109 of file blocked_range.h.
|
private |
Definition at line 127 of file blocked_range.h.
Referenced by tbb::blocked_range< I >::begin(), tbb::blocked_range< I >::blocked_range(), tbb::blocked_range2d< RowValue, ColValue >::do_split(), tbb::blocked_range3d< PageValue, RowValue, ColValue >::do_split(), tbb::blocked_range< I >::do_split(), tbb::blocked_range< I >::empty(), and tbb::blocked_range< I >::size().
|
private |
NOTE: my_end MUST be declared before my_begin, otherwise the splitting constructor will break.
Definition at line 126 of file blocked_range.h.
Referenced by tbb::blocked_range< I >::blocked_range(), tbb::blocked_range< I >::do_split(), tbb::blocked_range< I >::empty(), tbb::blocked_range< I >::end(), and tbb::blocked_range< I >::size().
|
private |
Definition at line 128 of file blocked_range.h.
Referenced by tbb::blocked_range< I >::blocked_range(), tbb::blocked_range< I >::grainsize(), and tbb::blocked_range< I >::is_divisible().