#include <iso_space_rtree.h>
Collaboration diagram for iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator:
Public Member Functions | |
Iterator () | |
~Iterator () | |
bool | IsNull () |
Is iterator invalid. | |
bool | IsNotNull () |
Is iterator pointing to valid data. | |
DATATYPE & | operator * () |
Access the current data element. Caller must be sure iterator is not NULL first. | |
const DATATYPE & | operator * () const |
Access the current data element. Caller must be sure iterator is not NULL first. | |
bool | operator++ () |
Find the next data element. | |
Private Types | |
enum | { MAX_STACK = 32 } |
Private Member Functions | |
void | Init () |
Reset iterator. | |
bool | FindNextData () |
Find the next data element in the tree (For internal use only). | |
void | Push (Node *a_node, int a_branchIndex) |
Push node and branch onto iteration stack (For internal use only). | |
StackElement & | Pop () |
Pop element off iteration stack (For internal use only). | |
Private Attributes | |
StackElement | m_stack [MAX_STACK] |
Stack as we are doing iteration instead of recursion. | |
int | m_tos |
Top Of Stack index. | |
Friends | |
class | RTree |
Classes | |
struct | StackElement |
anonymous enum [private] |
iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::Iterator | ( | ) | [inline] |
iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::~Iterator | ( | ) | [inline] |
bool iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::IsNull | ( | ) | [inline] |
Is iterator invalid.
bool iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::IsNotNull | ( | ) | [inline] |
Is iterator pointing to valid data.
DATATYPE& iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::operator * | ( | ) | [inline] |
Access the current data element. Caller must be sure iterator is not NULL first.
const DATATYPE& iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::operator * | ( | ) | const [inline] |
Access the current data element. Caller must be sure iterator is not NULL first.
bool iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::operator++ | ( | ) | [inline] |
Find the next data element.
void iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::Init | ( | ) | [inline, private] |
Reset iterator.
bool iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::FindNextData | ( | ) | [inline, private] |
Find the next data element in the tree (For internal use only).
void iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::Push | ( | Node * | a_node, | |
int | a_branchIndex | |||
) | [inline, private] |
Push node and branch onto iteration stack (For internal use only).
StackElement& iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::Pop | ( | ) | [inline, private] |
Pop element off iteration stack (For internal use only).
friend class RTree [friend] |
StackElement iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::m_stack[MAX_STACK] [private] |
Stack as we are doing iteration instead of recursion.
int iso::space::RTree< DATATYPE, ELEMTYPE, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::m_tos [private] |
Top Of Stack index.