Skip to content

Core::PreorderNodeTreeIterator

#include "Core/Nodes/Iterators.h"

Inherits from ForwardIteratorBase< PreorderNodeTreeIterator, Node, false >

Protected Types

Name
using PreorderNodeTreeIteratorIterator
using ForwardIteratorBase< PreorderNodeTreeIterator, Node, false >Super

Public Functions

Name
PreorderNodeTreeIterator()
PreorderNodeTreeIterator(Node * root, int connectionType =-1)
referencedereference() const
boolequals(const Iterator & b) const
voidnext()
pointerptr() const
boolvalid() const

Protected Attributes

Name
intm_connectionType <br>Type of connections the iterator considers, corresponds to EValueType enum, -1 for all.
Node *m_curr <br>Current node of the iterated (sub)tree, nullptr indicates invalid/after-end iterator.
std::stack< Node *, std::vector< Node * > >m_stack

Additional inherited members

Public Types inherited from ForwardIteratorBase< PreorderNodeTreeIterator, Node, false >

Name
using std::ptrdiff_tdifference_type
using std::forward_iterator_tagiterator_category
using typename std::conditional< IsConst, const Value *, Value * >::typepointer
using typename std::conditional< IsConst, const Value &, Value & >::typereference
using typename std::conditional< IsConst, const Value, Value >::typevalue_type

Public Functions inherited from ForwardIteratorBase< PreorderNodeTreeIterator, Node, false >

Name
referenceoperator*()
Iterator &operator++()
Iteratoroperator++(int )
pointeroperator->()

Protected Functions inherited from ForwardIteratorBase< PreorderNodeTreeIterator, Node, false >

Name
ForwardIteratorBase()
Iterator *self()<br>CRTP self pointer (pointer to the derived type)
const Iterator *self() const<br>CRTP const self pointer.

Friends inherited from ForwardIteratorBase< PreorderNodeTreeIterator, Node, false >

Name
booloperator!=(const Iterator & a, const Iterator & b)
booloperator==(const Iterator & a, const Iterator & b)

Protected Types Documentation

using Iterator

cpp
using Core::PreorderNodeTreeIterator::Iterator =  PreorderNodeTreeIterator;

using Super

cpp
using Core::PreorderNodeTreeIterator::Super =  ForwardIteratorBase<PreorderNodeTreeIterator, Node, false>;

Public Functions Documentation

function PreorderNodeTreeIterator

cpp
inline PreorderNodeTreeIterator()

function PreorderNodeTreeIterator

cpp
inline PreorderNodeTreeIterator(
    Node * root,
    int connectionType =-1
)

function dereference

cpp
inline reference dereference() const

function equals

cpp
inline bool equals(
    const Iterator & b
) const

function next

cpp
inline void next()

function ptr

cpp
inline pointer ptr() const

function valid

cpp
inline bool valid() const

Protected Attributes Documentation

variable m_connectionType

cpp
int m_connectionType {-1};

Type of connections the iterator considers, corresponds to EValueType enum, -1 for all.

variable m_curr

cpp
Node * m_curr {nullptr};

Current node of the iterated (sub)tree, nullptr indicates invalid/after-end iterator.

variable m_stack

cpp
std::stack< Node *, std::vector< Node * > > m_stack;

Updated on 2026-09-11 at 21:24:26 +0000