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 Core::PreorderNodeTreeIterator::Iterator =  PreorderNodeTreeIterator;

using Super

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

Public Functions Documentation

function PreorderNodeTreeIterator

cpp
inline PreorderNodeTreeIterator()
inline PreorderNodeTreeIterator()

function PreorderNodeTreeIterator

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

function dereference

cpp
inline reference dereference() const
inline reference dereference() const

function equals

cpp
inline bool equals(
    const Iterator & b
) const
inline bool equals(
    const Iterator & b
) const

function next

cpp
inline void next()
inline void next()

function ptr

cpp
inline pointer ptr() const
inline pointer ptr() const

function valid

cpp
inline bool valid() const
inline bool valid() const

Protected Attributes Documentation

variable m_connectionType

cpp
int m_connectionType {-1};
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};
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;
std::stack< Node *, std::vector< Node * > > m_stack;

Updated on 2025-05-31 at 12:55:31 +0000