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

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

Detailed Description

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

Definition at line 58 of file tree/iterator/preorder.hpp.

Public Member Functions

 IteratorPreorder ()
 
 IteratorPreorder (Tree &tree)
 
 IteratorPreorder (Tree const &tree)
 
 IteratorPreorder (NodeType &node)
 
 IteratorPreorder (LinkType &link)
 
 IteratorPreorder (IteratorPreorder const &)=default
 
 IteratorPreorder (IteratorPreorder &&)=default
 
 ~IteratorPreorder ()=default
 
EdgeType & edge () const
 
bool is_first_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)
 
IteratorPreorderoperator= (IteratorPreorder const &)=default
 
IteratorPreorderoperator= (IteratorPreorder &&)=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 = IteratorPreorder< LinkType, NodeType, EdgeType >
 

Constructor & Destructor Documentation

IteratorPreorder ( )
inline

Definition at line 74 of file tree/iterator/preorder.hpp.

IteratorPreorder ( Tree tree)
inlineexplicit

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

IteratorPreorder ( Tree const &  tree)
inlineexplicit

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

IteratorPreorder ( NodeType &  node)
inlineexplicit

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

IteratorPreorder ( LinkType &  link)
inlineexplicit

Definition at line 91 of file tree/iterator/preorder.hpp.

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

Member Function Documentation

EdgeType& edge ( ) const
inline

Definition at line 165 of file tree/iterator/preorder.hpp.

bool is_first_iteration ( ) const
inline

Definition at line 150 of file tree/iterator/preorder.hpp.

LinkType& link ( ) const
inline

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

NodeType& node ( ) const
inline

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

bool operator!= ( const self_type other) const
inline

Definition at line 141 of file tree/iterator/preorder.hpp.

self_type operator* ( )
inline

Definition at line 111 of file tree/iterator/preorder.hpp.

self_type operator++ ( )
inline

Definition at line 116 of file tree/iterator/preorder.hpp.

self_type operator++ ( int  )
inline

Definition at line 129 of file tree/iterator/preorder.hpp.

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

Definition at line 136 of file tree/iterator/preorder.hpp.

LinkType& start_link ( ) const
inline

Definition at line 170 of file tree/iterator/preorder.hpp.

NodeType& start_node ( ) const
inline

Definition at line 175 of file tree/iterator/preorder.hpp.

Member Typedef Documentation

using iterator_category = std::forward_iterator_tag

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

using self_type = IteratorPreorder<LinkType, NodeType, EdgeType>

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


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