A toolkit for working with phylogenetic data.
v0.18.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 58 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 74 of file tree/iterator/postorder.hpp.

IteratorPostorder ( Tree tree)
inlineexplicit

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

IteratorPostorder ( Tree const &  tree)
inlineexplicit

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

IteratorPostorder ( NodeType &  node)
inlineexplicit

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

IteratorPostorder ( LinkType &  link)
inlineexplicit

Definition at line 91 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 183 of file tree/iterator/postorder.hpp.

bool is_last_iteration ( ) const
inline

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

LinkType& link ( ) const
inline

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

NodeType& node ( ) const
inline

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

bool operator!= ( const self_type other) const
inline

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

self_type operator* ( )
inline

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

self_type operator++ ( )
inline

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

self_type operator++ ( int  )
inline

Definition at line 147 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 154 of file tree/iterator/postorder.hpp.

LinkType& start_link ( ) const
inline

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

NodeType& start_node ( ) const
inline

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

Member Typedef Documentation

using iterator_category = std::forward_iterator_tag

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

using self_type = IteratorPostorder<LinkType, NodeType, EdgeType>

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


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