KiCad PCB EDA Suite
Loading...
Searching...
No Matches
KIRTREE::COW_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator Class Reference

Iterator for traversing all data items. More...

#include <dynamic_rtree_cow.h>

Classes

struct  STACK_ENTRY
 

Public Member Functions

 Iterator ()
 
 Iterator (NODE *aRoot)
 
const DATATYPE & operator* () const
 
Iteratoroperator++ ()
 
bool operator== (const Iterator &aOther) const
 
bool operator!= (const Iterator &aOther) const
 

Private Member Functions

void advance ()
 

Private Attributes

std::vector< STACK_ENTRYm_stack
 
DATATYPE m_current = {}
 
bool m_atEnd = true
 

Detailed Description

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
class KIRTREE::COW_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator

Iterator for traversing all data items.

Uses the same traversal as DYNAMIC_RTREE::Iterator.

Definition at line 361 of file dynamic_rtree_cow.h.

Constructor & Destructor Documentation

◆ Iterator() [1/2]

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
KIRTREE::COW_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::Iterator ( )
inline

Definition at line 364 of file dynamic_rtree_cow.h.

References m_atEnd.

Referenced by operator!=(), operator++(), and operator==().

◆ Iterator() [2/2]

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
KIRTREE::COW_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::Iterator ( NODE * aRoot)
inlineexplicit

Member Function Documentation

◆ advance()

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
void KIRTREE::COW_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::advance ( )
inlineprivate

Definition at line 404 of file dynamic_rtree_cow.h.

References m_atEnd, m_current, m_stack, and top().

Referenced by Iterator(), and operator++().

◆ operator!=()

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
bool KIRTREE::COW_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::operator!= ( const Iterator & aOther) const
inline

Definition at line 392 of file dynamic_rtree_cow.h.

References Iterator().

◆ operator*()

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
const DATATYPE & KIRTREE::COW_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::operator* ( ) const
inline

Definition at line 379 of file dynamic_rtree_cow.h.

References m_current.

◆ operator++()

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
Iterator & KIRTREE::COW_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::operator++ ( )
inline

Definition at line 381 of file dynamic_rtree_cow.h.

References advance(), and Iterator().

◆ operator==()

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
bool KIRTREE::COW_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::operator== ( const Iterator & aOther) const
inline

Definition at line 387 of file dynamic_rtree_cow.h.

References Iterator(), and m_atEnd.

Member Data Documentation

◆ m_atEnd

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
bool KIRTREE::COW_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::m_atEnd = true
private

Definition at line 442 of file dynamic_rtree_cow.h.

Referenced by advance(), Iterator(), Iterator(), and operator==().

◆ m_current

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
DATATYPE KIRTREE::COW_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::m_current = {}
private

Definition at line 441 of file dynamic_rtree_cow.h.

Referenced by advance(), and operator*().

◆ m_stack

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
std::vector<STACK_ENTRY> KIRTREE::COW_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::m_stack
private

Definition at line 440 of file dynamic_rtree_cow.h.

Referenced by advance(), and Iterator().


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