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>
A range over which to iterate.
Type enables transmission of splitting proportion from partitioners to range objects.
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
bool empty() const
True if range is empty.
static Value do_split(blocked_range &r, proportional_split &proportion)
blocked_range(blocked_range &r, proportional_split &proportion)
Split range.
Value const_iterator
Type of a value.
static Value do_split(blocked_range &r, split)
Auxiliary function used by the splitting constructor.
const_iterator end() const
One past last value in range.
A 3-dimensional range that models the Range concept.
size_type size() const
Size of the range.
bool is_divisible() const
True if range is divisible.
blocked_range(blocked_range &r, split)
Split range.
Dummy type that distinguishes splitting constructor from copy constructor.
size_type grainsize() const
The grain size for this range.
const_iterator begin() const
Beginning of range.
static const bool is_splittable_in_proportion
Static field to support proportional split.
blocked_range(Value begin_, Value end_, size_type grainsize_=1)
Construct range over half-open interval [begin,end), with the given grainsize.
std::size_t size_type
Type for size of a range.
A 2-dimensional range that models the Range concept.
Copyright © 2005-2019 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.