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

Iterator for traversing all data items in the tree. More...

#include <dynamic_rtree.h>

Classes

struct  STACK_ENTRY
 

Public Types

using iterator_category = std::forward_iterator_tag
 
using value_type = DATATYPE
 
using difference_type = ptrdiff_t
 
using pointer = const DATATYPE*
 
using reference = const DATATYPE&
 

Public Member Functions

 Iterator ()
 
 Iterator (NODE *aRoot)
 
const DATATYPE & operator* () const
 
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::DYNAMIC_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator

Iterator for traversing all data items in the tree.

Definition at line 365 of file dynamic_rtree.h.

Member Typedef Documentation

◆ difference_type

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
using KIRTREE::DYNAMIC_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::difference_type = ptrdiff_t

Definition at line 370 of file dynamic_rtree.h.

◆ iterator_category

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
using KIRTREE::DYNAMIC_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::iterator_category = std::forward_iterator_tag

Definition at line 368 of file dynamic_rtree.h.

◆ pointer

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
using KIRTREE::DYNAMIC_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::pointer = const DATATYPE*

Definition at line 371 of file dynamic_rtree.h.

◆ reference

template<class DATATYPE, class ELEMTYPE = int, int NUMDIMS = 2, int TMAXNODES = 16>
using KIRTREE::DYNAMIC_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::reference = const DATATYPE&

Definition at line 372 of file dynamic_rtree.h.

◆ value_type

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

Definition at line 369 of file dynamic_rtree.h.

Constructor & Destructor Documentation

◆ Iterator() [1/2]

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

Definition at line 374 of file dynamic_rtree.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::DYNAMIC_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::DYNAMIC_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::advance ( )
inlineprivate

Definition at line 415 of file dynamic_rtree.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::DYNAMIC_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::operator!= ( const Iterator & aOther) const
inline

Definition at line 403 of file dynamic_rtree.h.

References Iterator().

◆ operator*()

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

Definition at line 389 of file dynamic_rtree.h.

References m_current.

◆ operator++()

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

Definition at line 392 of file dynamic_rtree.h.

References advance(), and Iterator().

◆ operator->()

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

Definition at line 390 of file dynamic_rtree.h.

References m_current.

◆ operator==()

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

Definition at line 398 of file dynamic_rtree.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::DYNAMIC_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::Iterator::m_atEnd = true
private

Definition at line 453 of file dynamic_rtree.h.

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

◆ m_current

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

Definition at line 452 of file dynamic_rtree.h.

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

◆ m_stack

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

Definition at line 451 of file dynamic_rtree.h.

Referenced by advance(), and Iterator().


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