HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::tree::IteratorRange< IterT > Class Template Reference

#include <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::OPENVDB_VERSION_NAME::tree::IteratorRange< IterT >

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

Definition at line 1302 of file TreeIterator.h.

Constructor & Destructor Documentation

template<typename IterT>
openvdb::OPENVDB_VERSION_NAME::tree::IteratorRange< 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

Definition at line 1308 of file TreeIterator.h.

template<typename IterT>
openvdb::OPENVDB_VERSION_NAME::tree::IteratorRange< 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

Definition at line 1319 of file TreeIterator.h.

Member Function Documentation

template<typename IterT>
bool openvdb::OPENVDB_VERSION_NAME::tree::IteratorRange< IterT >::empty ( void  ) const
inline

Definition at line 1332 of file TreeIterator.h.

template<typename IterT>
void openvdb::OPENVDB_VERSION_NAME::tree::IteratorRange< IterT >::increment ( size_t  n = 1)
inline

Advance the iterator n times.

Definition at line 1341 of file TreeIterator.h.

template<typename IterT>
bool openvdb::OPENVDB_VERSION_NAME::tree::IteratorRange< IterT >::is_divisible ( ) const
inline

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

Definition at line 1338 of file TreeIterator.h.

template<typename IterT>
const IterT& openvdb::OPENVDB_VERSION_NAME::tree::IteratorRange< IterT >::iterator ( void  ) 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.

Definition at line 1330 of file TreeIterator.h.

template<typename IterT>
bool openvdb::OPENVDB_VERSION_NAME::tree::IteratorRange< IterT >::next ( )
inline

Advance the iterator to the next item.

Returns
true if the iterator is not yet exhausted.

Definition at line 1346 of file TreeIterator.h.

template<typename IterT>
openvdb::OPENVDB_VERSION_NAME::tree::IteratorRange< IterT >::operator bool ( ) const
inline

Definition at line 1334 of file TreeIterator.h.

template<typename IterT>
IteratorRange& openvdb::OPENVDB_VERSION_NAME::tree::IteratorRange< IterT >::operator++ ( )
inline

Advance the iterator to the next item.

Definition at line 1343 of file TreeIterator.h.

template<typename IterT>
bool openvdb::OPENVDB_VERSION_NAME::tree::IteratorRange< IterT >::test ( ) const
inline

Definition at line 1333 of file TreeIterator.h.


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