Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Go to the documentation of this file.
17 #ifndef __TBB_blocked_range_H
18 #define __TBB_blocked_range_H
28 template<
typename Value,
unsigned int N,
typename>
44 template<
typename Value>
55 #if __TBB_DEPRECATED_BLOCKED_RANGE_DEFAULT_CTOR
107 #if __TBB_USE_PROPORTIONAL_SPLIT_IN_BLOCKED_RANGES
139 #if __TBB_USE_PROPORTIONAL_SPLIT_IN_BLOCKED_RANGES
151 /
float(proportion.
left() + proportion.
right()) + 0.5f);
156 template<
typename RowValue,
typename ColValue>
159 template<
typename RowValue,
typename ColValue,
typename PageValue>
162 template<
typename DimValue,
unsigned int N,
typename>
const_iterator begin() const
Beginning of range.
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
const_iterator end() const
One past last value in range.
Value const_iterator
Type of a value.
A 2-dimensional range that models the Range concept.
Dummy type that distinguishes splitting constructor from copy constructor.
static const bool is_splittable_in_proportion
Static field to support proportional split.
static Value do_split(blocked_range &r, proportional_split &proportion)
size_type grainsize() const
The grain size for this range.
std::size_t size_type
Type for size of a range.
blocked_range(blocked_range &r, proportional_split &proportion)
Split range.
A range over which to iterate.
size_type size() const
Size of the range.
blocked_range(blocked_range &r, split)
Split range.
A 3-dimensional range that models the Range concept.
bool is_divisible() const
True if range is divisible.
Type enables transmission of splitting proportion from partitioners to range objects.
bool empty() const
True if range is empty.
static Value do_split(blocked_range &r, split)
Auxiliary function used by the splitting constructor.
blocked_range(Value begin_, Value end_, size_type grainsize_=1)
Construct range over half-open interval [begin,end), with the given grainsize.
Copyright © 2005-2020 Intel Corporation. All Rights Reserved.
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
registered trademarks or trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.
* Other names and brands may be claimed as the property of others.