HDK
|
Base class for iterators over internal and leaf nodes. More...
#include <Iterator.h>
Public Member Functions | |
IteratorBase () | |
IteratorBase (const MaskIterT &iter, NodeT *parent) | |
IteratorBase (const IteratorBase &)=default | |
IteratorBase & | operator= (const IteratorBase &)=default |
bool | operator== (const IteratorBase &other) const |
bool | operator!= (const IteratorBase &other) const |
NodeT * | getParentNode () const |
Return a pointer to the node (if any) over which this iterator is iterating. More... | |
NodeT & | parent () const |
Return a reference to the node over which this iterator is iterating. More... | |
Index | offset () const |
Return this iterator's position as an index into the parent node's table. More... | |
Index | pos () const |
Identical to offset. More... | |
bool | test () const |
Return true if this iterator is not yet exhausted. More... | |
operator bool () const | |
Return true if this iterator is not yet exhausted. More... | |
bool | next () |
Advance to the next item in the parent node's table. More... | |
void | increment () |
Advance to the next item in the parent node's table. More... | |
IteratorBase & | operator++ () |
Advance to the next item in the parent node's table. More... | |
void | increment (Index n) |
Advance n items in the parent node's table. More... | |
bool | isValueOn () const |
Return true if this iterator is pointing to an active value. Return false if it is pointing to either an inactive value or a child node. More... | |
void | setValueOn (bool on=true) const |
If this iterator is pointing to a value, set the value's active state. Otherwise, do nothing. More... | |
void | setValueOff () const |
If this iterator is pointing to a value, mark the value as inactive. More... | |
Coord | getCoord () const |
Return the coordinates of the item to which this iterator is pointing. More... | |
void | getCoord (Coord &xyz) const |
Return in xyz the coordinates of the item to which this iterator is pointing. More... | |
Base class for iterators over internal and leaf nodes.
This class is typically not instantiated directly, since it doesn't provide methods to dereference the iterator. Those methods (::tree::SparseIteratorBase::operator*() operator*(), tree::SparseIteratorBase::setValue() setValue(), etc.) are implemented in the ::tree::SparseIteratorBase sparse and ::tree::DenseIteratorBase dense iterator subclasses.
Definition at line 29 of file Iterator.h.
|
inline |
Definition at line 32 of file Iterator.h.
|
inline |
Definition at line 33 of file Iterator.h.
|
default |
|
inline |
Return the coordinates of the item to which this iterator is pointing.
Definition at line 89 of file Iterator.h.
|
inline |
Return in xyz the coordinates of the item to which this iterator is pointing.
Definition at line 91 of file Iterator.h.
|
inline |
Return a pointer to the node (if any) over which this iterator is iterating.
Definition at line 47 of file Iterator.h.
|
inline |
Advance to the next item in the parent node's table.
Definition at line 70 of file Iterator.h.
|
inline |
Advance n items in the parent node's table.
Definition at line 74 of file Iterator.h.
|
inline |
Return true
if this iterator is pointing to an active value. Return false
if it is pointing to either an inactive value or a child node.
Definition at line 78 of file Iterator.h.
|
inline |
Advance to the next item in the parent node's table.
Definition at line 68 of file Iterator.h.
|
inline |
Return this iterator's position as an index into the parent node's table.
Definition at line 57 of file Iterator.h.
|
inline |
Return true
if this iterator is not yet exhausted.
Definition at line 65 of file Iterator.h.
|
inline |
Definition at line 41 of file Iterator.h.
|
inline |
Advance to the next item in the parent node's table.
Definition at line 72 of file Iterator.h.
|
default |
|
inline |
Definition at line 37 of file Iterator.h.
|
inline |
Return a reference to the node over which this iterator is iterating.
ValueError | if there is no parent node. |
Definition at line 50 of file Iterator.h.
|
inline |
Identical to offset.
Definition at line 60 of file Iterator.h.
|
inline |
If this iterator is pointing to a value, mark the value as inactive.
If this iterator is pointing to a child node, then the current item in the parent node's table is required to be inactive. In that case, this method has no effect.
Definition at line 86 of file Iterator.h.
|
inline |
If this iterator is pointing to a value, set the value's active state. Otherwise, do nothing.
Definition at line 81 of file Iterator.h.
|
inline |
Return true
if this iterator is not yet exhausted.
Definition at line 63 of file Iterator.h.