![]() |
Eclipse SUMO - Simulation of Urban MObility
|
Iterator is not remove safe. More...
#include <RTree.h>
Data Structures | |
| struct | StackElement |
Public Member Functions | |
| bool | IsNotNull () |
| Is iterator pointing to valid data. | |
| bool | IsNull () |
| Is iterator invalid. | |
| Iterator () | |
| 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. | |
| ~Iterator () | |
Private Types | |
| enum | { MAX_STACK = 32 } |
Private Member Functions | |
| bool | FindNextData () |
| Find the next data element in the tree (For internal use only). | |
| void | Init () |
| Reset iterator. | |
| StackElement & | Pop () |
| Pop element off iteration stack (For internal use only). | |
| void | Push (Node *a_node, int a_branchIndex) |
| Push node and branch onto 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< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES > |
Iterator is not remove safe.
|
inlineprivate |
Find the next data element in the tree (For internal use only).
Definition at line 180 of file RTree.h.
References RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Node::IsLeaf(), RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Node::m_branch, RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::StackElement::m_branchIndex, RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Branch::m_child, RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Node::m_count, RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::StackElement::m_node, m_tos, Pop(), and Push().
Referenced by RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::GetFirst(), and operator++().
|
inlineprivate |
Reset iterator.
Definition at line 177 of file RTree.h.
References m_tos.
Referenced by RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::GetFirst(), and Iterator().
|
inline |
Is iterator pointing to valid data.
Definition at line 153 of file RTree.h.
References m_tos.
Referenced by operator*(), and operator*().
|
inline |
Is iterator invalid.
Definition at line 150 of file RTree.h.
References m_tos.
Referenced by RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::IsNull().
|
inline |
Access the current data element. Caller must be sure iterator is not NULL first.
Definition at line 156 of file RTree.h.
References ASSERT, IsNotNull(), RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Node::m_branch, RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::StackElement::m_branchIndex, RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Branch::m_data, RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::StackElement::m_node, m_stack, and m_tos.
|
inline |
Access the current data element. Caller must be sure iterator is not NULL first.
Definition at line 164 of file RTree.h.
References ASSERT, IsNotNull(), RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Node::m_branch, RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::StackElement::m_branchIndex, RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Branch::m_data, RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::Iterator::StackElement::m_node, m_stack, and m_tos.
|
inlineprivate |
|
inlineprivate |
Push node and branch onto iteration stack (For internal use only).
Definition at line 223 of file RTree.h.
References ASSERT, m_stack, m_tos, and MAX_STACK.
Referenced by FindNextData(), and RTree< DATATYPE, DATATYPENP, ELEMTYPE, NUMDIMS, CONTEXT, ELEMTYPEREAL, TMAXNODES, TMINNODES >::GetFirst().
|
private |
Stack as we are doing iteration instead of recursion.
Definition at line 239 of file RTree.h.
Referenced by operator*(), operator*(), Pop(), and Push().
|
private |
Top Of Stack index.
Definition at line 240 of file RTree.h.
Referenced by FindNextData(), Init(), IsNotNull(), IsNull(), operator*(), operator*(), Pop(), and Push().