|
KiCad PCB EDA Suite
|
Lazy iterator that traverses only nodes overlapping a query rectangle. More...
#include <dynamic_rtree.h>
Classes | |
| struct | STACK_ENTRY |
Public Types | |
| using | iterator_category = std::input_iterator_tag |
| using | value_type = DATATYPE |
| using | difference_type = ptrdiff_t |
| using | pointer = const DATATYPE* |
| using | reference = const DATATYPE& |
Public Member Functions | |
| SearchIterator () | |
| SearchIterator (NODE *aRoot, const ELEMTYPE aMin[NUMDIMS], const ELEMTYPE aMax[NUMDIMS]) | |
| const DATATYPE & | operator* () const |
| SearchIterator & | operator++ () |
| bool | operator== (const SearchIterator &aOther) const |
| bool | operator!= (const SearchIterator &aOther) const |
Private Member Functions | |
| void | advance () |
Private Attributes | |
| std::vector< STACK_ENTRY > | m_stack |
| ELEMTYPE | m_min [NUMDIMS] |
| ELEMTYPE | m_max [NUMDIMS] |
| DATATYPE | m_current = {} |
| bool | m_atEnd = true |
Lazy iterator that traverses only nodes overlapping a query rectangle.
Uses a small traversal stack rather than storing all results into a vector.
Definition at line 463 of file dynamic_rtree.h.
| using KIRTREE::DYNAMIC_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::SearchIterator::difference_type = ptrdiff_t |
Definition at line 468 of file dynamic_rtree.h.
| using KIRTREE::DYNAMIC_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::SearchIterator::iterator_category = std::input_iterator_tag |
Definition at line 466 of file dynamic_rtree.h.
| using KIRTREE::DYNAMIC_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::SearchIterator::pointer = const DATATYPE* |
Definition at line 469 of file dynamic_rtree.h.
| using KIRTREE::DYNAMIC_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::SearchIterator::reference = const DATATYPE& |
Definition at line 470 of file dynamic_rtree.h.
| using KIRTREE::DYNAMIC_RTREE< DATATYPE, ELEMTYPE, NUMDIMS, TMAXNODES >::SearchIterator::value_type = DATATYPE |
Definition at line 467 of file dynamic_rtree.h.
|
inline |
Definition at line 472 of file dynamic_rtree.h.
References m_atEnd.
Referenced by operator!=(), operator++(), and operator==().
|
inline |
Definition at line 474 of file dynamic_rtree.h.
References advance(), KIRTREE::RTREE_NODE< DATATYPE, ELEMTYPE, NUMDIMS, MAXNODES >::count, m_atEnd, m_max, m_min, and m_stack.
|
inlineprivate |
Definition at line 519 of file dynamic_rtree.h.
References m_atEnd, m_current, m_max, m_min, m_stack, and top().
Referenced by operator++(), and SearchIterator().
|
inline |
Definition at line 507 of file dynamic_rtree.h.
References SearchIterator().
|
inline |
Definition at line 494 of file dynamic_rtree.h.
References m_current.
|
inline |
Definition at line 496 of file dynamic_rtree.h.
References advance(), and SearchIterator().
|
inline |
Definition at line 502 of file dynamic_rtree.h.
References m_atEnd, and SearchIterator().
|
private |
Definition at line 572 of file dynamic_rtree.h.
Referenced by advance(), operator==(), SearchIterator(), and SearchIterator().
|
private |
Definition at line 571 of file dynamic_rtree.h.
Referenced by advance(), and operator*().
|
private |
Definition at line 570 of file dynamic_rtree.h.
Referenced by advance(), and SearchIterator().
|
private |
Definition at line 569 of file dynamic_rtree.h.
Referenced by advance(), and SearchIterator().
|
private |
Definition at line 568 of file dynamic_rtree.h.
Referenced by advance(), and SearchIterator().