BRE12
Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
tbb::blocked_range< Value > Class Template Reference

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.
 

Public Member Functions

 blocked_range ()
 Construct range with default-constructed values for begin and end. More...
 
 blocked_range (Value begin_, Value end_, size_type grainsize_=1)
 Construct range over half-open interval [begin,end), with the given grainsize.
 
const_iterator begin () const
 Beginning of range.
 
const_iterator end () const
 One past last value in range.
 
size_type size () const
 Size of the range. More...
 
size_type grainsize () const
 The grain size for this range.
 
bool empty () const
 True if range is empty.
 
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.
 

Friends

template<typename RowValue , typename ColValue >
class blocked_range2d
 
template<typename RowValue , typename ColValue , typename PageValue >
class blocked_range3d
 

Detailed Description

template<typename Value>
class tbb::blocked_range< Value >

A range over which to iterate.

Member Typedef Documentation

§ const_iterator

template<typename Value>
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.

Constructor & Destructor Documentation

§ blocked_range() [1/3]

template<typename Value>
tbb::blocked_range< Value >::blocked_range ( )
inline

Construct range with default-constructed values for begin and end.

Requires that Value have a default constructor.

§ blocked_range() [2/3]

template<typename Value>
tbb::blocked_range< Value >::blocked_range ( blocked_range< Value > &  r,
split   
)
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().

§ blocked_range() [3/3]

template<typename Value>
tbb::blocked_range< Value >::blocked_range ( blocked_range< Value > &  r,
proportional_split &  proportion 
)
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().

Member Function Documentation

§ is_divisible()

template<typename Value>
bool tbb::blocked_range< Value >::is_divisible ( ) const
inline

True if range is divisible.

Unspecified if end()<begin().

§ size()

template<typename Value>
size_type tbb::blocked_range< Value >::size ( ) const
inline

Size of the range.

Unspecified if end()<begin().


The documentation for this class was generated from the following file: