A toolkit for working with phylogenetic data.
v0.20.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
IteratorPostorder< LinkType, NodeType, EdgeType > Class Template Reference

#include <genesis/tree/iterator/postorder.hpp>

Detailed Description

template<typename LinkType, typename NodeType, typename EdgeType>
class genesis::tree::IteratorPostorder< LinkType, NodeType, EdgeType >

Definition at line 59 of file tree/iterator/postorder.hpp.

Public Member Functions

 IteratorPostorder ()
 
 IteratorPostorder (Tree &tree)
 
 IteratorPostorder (Tree const &tree)
 
 IteratorPostorder (NodeType &node)
 
 IteratorPostorder (LinkType &link)
 
 IteratorPostorder (IteratorPostorder const &)=default
 
 IteratorPostorder (IteratorPostorder &&)=default
 
 ~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)
 
IteratorPostorderoperator= (IteratorPostorder const &)=default
 
IteratorPostorderoperator= (IteratorPostorder &&)=default
 
bool operator== (const self_type &other) const
 
LinkType & start_link () const
 
NodeType & start_node () const
 

Public Types

using iterator_category = std::forward_iterator_tag
 
using self_type = IteratorPostorder< LinkType, NodeType, EdgeType >
 

Constructor & Destructor Documentation

IteratorPostorder ( )
inline

Definition at line 75 of file tree/iterator/postorder.hpp.

IteratorPostorder ( Tree tree)
inlineexplicit

Definition at line 80 of file tree/iterator/postorder.hpp.

IteratorPostorder ( Tree const &  tree)
inlineexplicit

Definition at line 84 of file tree/iterator/postorder.hpp.

IteratorPostorder ( NodeType &  node)
inlineexplicit

Definition at line 88 of file tree/iterator/postorder.hpp.

IteratorPostorder ( LinkType &  link)
inlineexplicit

Definition at line 92 of file tree/iterator/postorder.hpp.

~IteratorPostorder ( )
default
IteratorPostorder ( IteratorPostorder< LinkType, NodeType, EdgeType > const &  )
default
IteratorPostorder ( IteratorPostorder< LinkType, NodeType, EdgeType > &&  )
default

Member Function Documentation

EdgeType& edge ( ) const
inline

Definition at line 184 of file tree/iterator/postorder.hpp.

bool is_last_iteration ( ) const
inline

Definition at line 169 of file tree/iterator/postorder.hpp.

LinkType& link ( ) const
inline

Definition at line 174 of file tree/iterator/postorder.hpp.

NodeType& node ( ) const
inline

Definition at line 179 of file tree/iterator/postorder.hpp.

bool operator!= ( const self_type other) const
inline

Definition at line 160 of file tree/iterator/postorder.hpp.

self_type operator* ( )
inline

Definition at line 120 of file tree/iterator/postorder.hpp.

self_type operator++ ( )
inline

Definition at line 125 of file tree/iterator/postorder.hpp.

self_type operator++ ( int  )
inline

Definition at line 148 of file tree/iterator/postorder.hpp.

IteratorPostorder& operator= ( IteratorPostorder< LinkType, NodeType, EdgeType > const &  )
default
IteratorPostorder& operator= ( IteratorPostorder< LinkType, NodeType, EdgeType > &&  )
default
bool operator== ( const self_type other) const
inline

Definition at line 155 of file tree/iterator/postorder.hpp.

LinkType& start_link ( ) const
inline

Definition at line 189 of file tree/iterator/postorder.hpp.

NodeType& start_node ( ) const
inline

Definition at line 194 of file tree/iterator/postorder.hpp.

Member Typedef Documentation

using iterator_category = std::forward_iterator_tag

Definition at line 68 of file tree/iterator/postorder.hpp.

using self_type = IteratorPostorder<LinkType, NodeType, EdgeType>

Definition at line 69 of file tree/iterator/postorder.hpp.


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