mmcfilters
Public API documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
mmcfilters::MorphologicalTree::SubtreeNodeIterator Class Reference

Depth-first iterator over a subtree in pre-order. More...

#include <MorphologicalTree.hpp>

Public Types

using iterator_category = std::input_iterator_tag
 Standard iterator category exposed for STL compatibility.
 
using value_type = NodeId
 Node id yielded by the iterator.
 
using difference_type = std::ptrdiff_t
 Signed distance type exposed for STL compatibility.
 
using pointer = const NodeId *
 Pointer type exposed for STL compatibility.
 
using reference = const NodeId &
 Reference type exposed for STL compatibility.
 

Public Member Functions

 SubtreeNodeIterator ()=default
 Creates the end/sentinel subtree iterator.
 
 SubtreeNodeIterator (const MorphologicalTree *tree, NodeId rootNodeId, std::size_t expectedVersion)
 Creates a pre-order subtree iterator rooted at rootNodeId.
 
SubtreeNodeIteratoroperator++ ()
 Advances to the next node in pre-order subtree traversal.
 
NodeId operator* () const
 Returns the current pre-order subtree node id.
 
bool operator== (const SubtreeNodeIterator &other) const
 Compares subtree iterator exhaustion state.
 
bool operator!= (const SubtreeNodeIterator &other) const
 Compares subtree iterator exhaustion state for inequality.
 

Detailed Description

Depth-first iterator over a subtree in pre-order.

Definition at line 4233 of file MorphologicalTree.hpp.

Member Typedef Documentation

◆ difference_type

Signed distance type exposed for STL compatibility.

Definition at line 4248 of file MorphologicalTree.hpp.

◆ iterator_category

Standard iterator category exposed for STL compatibility.

Definition at line 4244 of file MorphologicalTree.hpp.

◆ pointer

Pointer type exposed for STL compatibility.

Definition at line 4250 of file MorphologicalTree.hpp.

◆ reference

Reference type exposed for STL compatibility.

Definition at line 4252 of file MorphologicalTree.hpp.

◆ value_type

Node id yielded by the iterator.

Definition at line 4246 of file MorphologicalTree.hpp.

Constructor & Destructor Documentation

◆ SubtreeNodeIterator()

mmcfilters::MorphologicalTree::SubtreeNodeIterator::SubtreeNodeIterator ( const MorphologicalTree tree,
NodeId  rootNodeId,
std::size_t  expectedVersion 
)
inline

Creates a pre-order subtree iterator rooted at rootNodeId.

Parameters
treeTree topology.
rootNodeIdIdentifier of the traversal root.
expectedVersionMutation version required by the operation.

Definition at line 4266 of file MorphologicalTree.hpp.

Member Function Documentation

◆ operator!=()

bool mmcfilters::MorphologicalTree::SubtreeNodeIterator::operator!= ( const SubtreeNodeIterator other) const
inline

Compares subtree iterator exhaustion state for inequality.

Parameters
otherObject to compare with or transfer from.
Returns
True when the documented condition holds; otherwise false.

Definition at line 4314 of file MorphologicalTree.hpp.

◆ operator*()

NodeId mmcfilters::MorphologicalTree::SubtreeNodeIterator::operator* ( ) const
inline

Returns the current pre-order subtree node id.

Returns
The current pre-order subtree node id.

Definition at line 4295 of file MorphologicalTree.hpp.

◆ operator++()

SubtreeNodeIterator & mmcfilters::MorphologicalTree::SubtreeNodeIterator::operator++ ( )
inline

Advances to the next node in pre-order subtree traversal.

Returns
Mutable reference to the updated object.

Definition at line 4277 of file MorphologicalTree.hpp.

◆ operator==()

bool mmcfilters::MorphologicalTree::SubtreeNodeIterator::operator== ( const SubtreeNodeIterator other) const
inline

Compares subtree iterator exhaustion state.

Parameters
otherObject to compare with or transfer from.
Returns
True when the documented condition holds; otherwise false.

Definition at line 4306 of file MorphologicalTree.hpp.


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