OpenVDB 13.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.
IteratorRange & | operator++ ()
| Advance the iterator to the next item.
bool | next ()
| Advance the iterator to the next item.

## Detailed Description

template<typename IterT>
class openvdb::v13_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

  iter | Iterator from which the range is constructed
  grainSize | Grain 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

  other | IteratorRange to be split
  tbb::split | Dummy 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