#include <genesis/tree/iterator/postorder.hpp>
Definition at line 62 of file tree/iterator/postorder.hpp.
Public Member Functions | |
IteratorPostorder () | |
IteratorPostorder (IteratorPostorder &&)=default | |
IteratorPostorder (IteratorPostorder const &)=default | |
IteratorPostorder (LinkType &link) | |
Start a postorder traversal at a given TreeLink, moving in the direction of the link first. More... | |
IteratorPostorder (NodeType &node) | |
Start a postorder traversal at the given TreeNode, moving in the root direction first. More... | |
IteratorPostorder (Subtree const &subtree) | |
Start a postorder traversal at the top TreeNode of a Subtree, only traversing the nodes in the subtree. More... | |
IteratorPostorder (TreeType &tree) | |
Start a postorder traversal at the root of the given Tree. More... | |
~IteratorPostorder ()=default | |
EdgeType & | edge () const |
bool | is_last_iteration () const |
LinkType & | link () const |
NodeType & | node () const |
bool | operator!= (const self_type &other) const |
self_type | operator* () |
self_type | operator++ () |
self_type | operator++ (int) |
IteratorPostorder & | operator= (IteratorPostorder &&)=default |
IteratorPostorder & | operator= (IteratorPostorder const &)=default |
bool | operator== (const self_type &other) const |
LinkType & | start_link () const |
NodeType & | start_node () const |
Public Types | |
using | EdgeType = typename std::conditional< is_const, TreeEdge const, TreeEdge >::type |
using | iterator_category = std::forward_iterator_tag |
using | LinkType = typename std::conditional< is_const, TreeLink const, TreeLink >::type |
using | NodeType = typename std::conditional< is_const, TreeNode const, TreeNode >::type |
using | self_type = IteratorPostorder< is_const > |
using | TreeType = typename std::conditional< is_const, Tree const, Tree >::type |
|
inline |
Definition at line 88 of file tree/iterator/postorder.hpp.
|
inlineexplicit |
Start a postorder traversal at the root of the given Tree.
Definition at line 96 of file tree/iterator/postorder.hpp.
|
inlineexplicit |
Start a postorder traversal at the given TreeNode, moving in the root direction first.
The iterator "starts" that the given TreeNode (for a postorder traversal, starting means that this will be the last node visited). It first traverses in the direction towards the root, until a leaf is found. This leaf is the first node being visited. From there on, the traversal continues as usual.
Definition at line 108 of file tree/iterator/postorder.hpp.
|
inlineexplicit |
Start a postorder traversal at a given TreeLink, moving in the direction of the link first.
The iterator "starts" that the TreeNode of the given link (for a postorder traversal, starting means that this will be the last node visited). It first traverses in the direction of the outer() link of the given link, until a leaf is found. This leaf is the first node being visited. From there on, the traversal continues as usual.
Definition at line 121 of file tree/iterator/postorder.hpp.
|
inlineexplicit |
Start a postorder traversal at the top TreeNode of a Subtree, only traversing the nodes in the subtree.
Definition at line 154 of file tree/iterator/postorder.hpp.
|
default |
|
default |
|
default |
|
inline |
Definition at line 262 of file tree/iterator/postorder.hpp.
|
inline |
Definition at line 247 of file tree/iterator/postorder.hpp.
|
inline |
Definition at line 252 of file tree/iterator/postorder.hpp.
|
inline |
Definition at line 257 of file tree/iterator/postorder.hpp.
|
inline |
Definition at line 238 of file tree/iterator/postorder.hpp.
|
inline |
Definition at line 190 of file tree/iterator/postorder.hpp.
|
inline |
Definition at line 195 of file tree/iterator/postorder.hpp.
|
inline |
Definition at line 226 of file tree/iterator/postorder.hpp.
|
default |
|
default |
|
inline |
Definition at line 233 of file tree/iterator/postorder.hpp.
|
inline |
Definition at line 267 of file tree/iterator/postorder.hpp.
|
inline |
Definition at line 272 of file tree/iterator/postorder.hpp.
Definition at line 75 of file tree/iterator/postorder.hpp.
using iterator_category = std::forward_iterator_tag |
Definition at line 78 of file tree/iterator/postorder.hpp.
Definition at line 73 of file tree/iterator/postorder.hpp.
Definition at line 74 of file tree/iterator/postorder.hpp.
using self_type = IteratorPostorder< is_const > |
Definition at line 77 of file tree/iterator/postorder.hpp.
Definition at line 72 of file tree/iterator/postorder.hpp.