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

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

Detailed Description

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

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

Public Member Functions

 IteratorLevelorder ()
 
 IteratorLevelorder (Tree &tree)
 
 IteratorLevelorder (Tree const &tree)
 
 IteratorLevelorder (NodeType &node)
 
 IteratorLevelorder (LinkType &link)
 
 IteratorLevelorder (IteratorLevelorder const &)=default
 
 IteratorLevelorder (IteratorLevelorder &&)=default
 
 ~IteratorLevelorder ()=default
 
int depth () const
 
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)
 
IteratorLevelorderoperator= (IteratorLevelorder const &)=default
 
IteratorLevelorderoperator= (IteratorLevelorder &&)=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 = IteratorLevelorder< LinkType, NodeType, EdgeType >
 

Constructor & Destructor Documentation

IteratorLevelorder ( )
inline

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

IteratorLevelorder ( Tree tree)
inlineexplicit

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

IteratorLevelorder ( Tree const &  tree)
inlineexplicit

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

IteratorLevelorder ( NodeType &  node)
inlineexplicit

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

IteratorLevelorder ( LinkType &  link)
inlineexplicit

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

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

Member Function Documentation

int depth ( ) const
inline

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

EdgeType& edge ( ) const
inline

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

bool is_first_iteration ( ) const
inline

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

LinkType& link ( ) const
inline

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

NodeType& node ( ) const
inline

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

bool operator!= ( const self_type other) const
inline

Definition at line 146 of file tree/iterator/levelorder.hpp.

self_type operator* ( )
inline

Definition at line 113 of file tree/iterator/levelorder.hpp.

self_type operator++ ( )
inline

Definition at line 118 of file tree/iterator/levelorder.hpp.

self_type operator++ ( int  )
inline

Definition at line 134 of file tree/iterator/levelorder.hpp.

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

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

LinkType& start_link ( ) const
inline

Definition at line 180 of file tree/iterator/levelorder.hpp.

NodeType& start_node ( ) const
inline

Definition at line 185 of file tree/iterator/levelorder.hpp.

Member Typedef Documentation

using iterator_category = std::forward_iterator_tag

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

using self_type = IteratorLevelorder<LinkType, NodeType, EdgeType>

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


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