OpenVDB 11.0.0
Loading...
Searching...
No Matches
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.
 
 IteratorRange (IteratorRange &other, tbb::split)
 Split constructor used by tbb (should rarely be called directly)
 
const IterT & iterator () const
 Return a reference to this range's iterator.
 
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).
 
void increment (size_t n=1)
 Advance the iterator n times.
 
IteratorRangeoperator++ ()
 Advance the iterator to the next item.
 
bool next ()
 Advance the iterator to the next item.
 

Detailed Description

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

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

Constructor & Destructor Documentation

◆ IteratorRange() [1/2]

template<typename IterT >
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() [2/2]

template<typename IterT >
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

◆ empty()

template<typename IterT >
bool empty ( ) const
inline

◆ increment()

template<typename IterT >
void increment ( size_t n = 1)
inline

Advance the iterator n times.

◆ is_divisible()

template<typename IterT >
bool is_divisible ( ) const
inline

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

◆ iterator()

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

◆ next()

template<typename IterT >
bool next ( )
inline

Advance the iterator to the next item.

Returns
true if the iterator is not yet exhausted.

◆ operator bool()

template<typename IterT >
operator bool ( ) const
inline

◆ operator++()

template<typename IterT >
IteratorRange & operator++ ( )
inline

Advance the iterator to the next item.

◆ test()

template<typename IterT >
bool test ( ) const
inline