OpenVDB  12.0.0
Public Member Functions | List of all members
IteratorRange< IterT > Class Template Reference

#include <openvdb/tree/TreeIterator.h>

Public Member Functions

 IteratorRange (const IterT &iter, size_t grainSize=8)
 Constructor from iterator and grain size. More...
 
 IteratorRange (IteratorRange &other, tbb::split)
 Split constructor used by tbb (should rarely be called directly) More...
 
const IterT & iterator () const
 Return a reference to this range's iterator. More...
 
bool empty () const
 
bool test () const
 
 operator bool () const
 
bool is_divisible () const
 Return true if this range is splittable (i.e., if the iterator can be advanced more than mGrainSize times). More...
 
void increment (size_t n=1)
 Advance the iterator n times. More...
 
IteratorRangeoperator++ ()
 Advance the iterator to the next item. More...
 
bool next ()
 Advance the iterator to the next item. More...
 

Detailed Description

template<typename IterT>
class openvdb::v12_0::tree::IteratorRange< IterT >

An IteratorRange wraps a tree or node iterator, giving the iterator TBB splittable range semantics.

Constructor & Destructor Documentation

IteratorRange ( const IterT &  iter,
size_t  grainSize = 8 
)
inline

Constructor from iterator and grain size.

Parameters
iterIterator from which the range is constructed
grainSizeGrain size which controls the granularity of range splitting
IteratorRange ( IteratorRange< IterT > &  other,
tbb::split   
)
inline

Split constructor used by tbb (should rarely be called directly)

Parameters
otherIteratorRange to be split
tbb::splitDummy class used to create a unique signature for this constructor

Member Function Documentation

bool empty ( ) const
inline
void increment ( size_t  n = 1)
inline

Advance the iterator n times.

bool is_divisible ( ) const
inline

Return true if this range is splittable (i.e., if the iterator can be advanced more than mGrainSize times).

const IterT& iterator ( ) const
inline

Return a reference to this range's iterator.

Note
The reference is const, because the iterator should not be incremented directly. Use this range object's increment() instead.
bool next ( )
inline

Advance the iterator to the next item.

Returns
true if the iterator is not yet exhausted.
operator bool ( ) const
inline
IteratorRange& operator++ ( )
inline

Advance the iterator to the next item.

bool test ( ) const
inline