July 2007
Intermediate to advanced
332 pages
10h 4m
English
blocked_range2d Template Class — Template class that represents a recursively divisible, two-dimensional, half-open interval.
#include "tbb/blocked_range2d.h" template<typename RowValue, typename ColValue> class blocked_range2d;
A blocked_range2d<RowValue,ColValue> represents a half-open, two-dimensional range [i0,j0)x[i1,j1). Each axis of the range has its own splitting threshold. The RowValue and ColValue must meet the requirements in Table 3-3. A blocked_range is splittable if either axis is splittable. A blocked_range models the Range Concept.
namespace tbb {template<typename RowValue, typename ColValue=RowValue>
class blocked_range2d {
public:
// Types
typedef blocked_range<RowValue> row_range_type;
typedef blocked_range<ColValue> col_range_type;
// Constructors
blocked_range2d( 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);
blocked_range2d( blocked_range2d& r, split );
// Capacity
bool empty() const;
// Access
bool is_divisible() const;
const row_range_type& rows() const;
const col_range_type& cols() const;
};
}row_range_type
Description: a blocked_range<RowValue>. That is, the type of the row values.
col_range_type
Description: a blocked_range<ColValue>. That is, the type of the column values.
blocked_range2d<RowValue,ColValue>( RowValue row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize, ...