A toolkit for working with phylogenetic data.
v0.24.0
IteratorNodeLinks< is_const > Class Template Reference

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

Detailed Description

template<bool is_const = true>
class genesis::tree::IteratorNodeLinks< is_const >

Definition at line 57 of file node_links.hpp.

Public Member Functions

 IteratorNodeLinks ()
 
 IteratorNodeLinks (NodeType &node)
 
 IteratorNodeLinks (LinkType &link)
 
 IteratorNodeLinks (IteratorNodeLinks const &)=default
 
 IteratorNodeLinks (IteratorNodeLinks &&)=default
 
 ~IteratorNodeLinks ()=default
 
EdgeTypeedge () const
 
bool is_first_iteration () const
 
LinkTypelink () const
 
NodeTypenode () const
 
bool operator!= (const self_type &other) const
 
self_type operator* ()
 
self_type operator++ ()
 
self_type operator++ (int)
 
IteratorNodeLinksoperator= (IteratorNodeLinks const &)=default
 
IteratorNodeLinksoperator= (IteratorNodeLinks &&)=default
 
bool operator== (const self_type &other) const
 
LinkTypestart_link () 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 = IteratorNodeLinks< is_const >
 
using TreeType = typename std::conditional< is_const, Tree const, Tree >::type
 

Constructor & Destructor Documentation

◆ IteratorNodeLinks() [1/5]

IteratorNodeLinks ( )
inline

Definition at line 83 of file node_links.hpp.

◆ IteratorNodeLinks() [2/5]

IteratorNodeLinks ( NodeType node)
inlineexplicit

Definition at line 88 of file node_links.hpp.

◆ IteratorNodeLinks() [3/5]

IteratorNodeLinks ( LinkType link)
inlineexplicit

Definition at line 93 of file node_links.hpp.

◆ ~IteratorNodeLinks()

~IteratorNodeLinks ( )
default

◆ IteratorNodeLinks() [4/5]

IteratorNodeLinks ( IteratorNodeLinks< is_const > const &  )
default

◆ IteratorNodeLinks() [5/5]

IteratorNodeLinks ( IteratorNodeLinks< is_const > &&  )
default

Member Function Documentation

◆ edge()

EdgeType& edge ( ) const
inline

Definition at line 160 of file node_links.hpp.

◆ is_first_iteration()

bool is_first_iteration ( ) const
inline

Definition at line 145 of file node_links.hpp.

◆ link()

LinkType& link ( ) const
inline

Definition at line 150 of file node_links.hpp.

◆ node()

NodeType& node ( ) const
inline

Definition at line 155 of file node_links.hpp.

◆ operator!=()

bool operator!= ( const self_type other) const
inline

Definition at line 136 of file node_links.hpp.

◆ operator*()

self_type operator* ( )
inline

Definition at line 110 of file node_links.hpp.

◆ operator++() [1/2]

self_type operator++ ( )
inline

Definition at line 115 of file node_links.hpp.

◆ operator++() [2/2]

self_type operator++ ( int  )
inline

Definition at line 124 of file node_links.hpp.

◆ operator=() [1/2]

IteratorNodeLinks& operator= ( IteratorNodeLinks< is_const > const &  )
default

◆ operator=() [2/2]

IteratorNodeLinks& operator= ( IteratorNodeLinks< is_const > &&  )
default

◆ operator==()

bool operator== ( const self_type other) const
inline

Definition at line 131 of file node_links.hpp.

◆ start_link()

LinkType& start_link ( ) const
inline

Definition at line 165 of file node_links.hpp.

Member Typedef Documentation

◆ EdgeType

using EdgeType = typename std::conditional< is_const, TreeEdge const, TreeEdge >::type

Definition at line 70 of file node_links.hpp.

◆ iterator_category

using iterator_category = std::forward_iterator_tag

Definition at line 73 of file node_links.hpp.

◆ LinkType

using LinkType = typename std::conditional< is_const, TreeLink const, TreeLink >::type

Definition at line 68 of file node_links.hpp.

◆ NodeType

using NodeType = typename std::conditional< is_const, TreeNode const, TreeNode >::type

Definition at line 69 of file node_links.hpp.

◆ self_type

using self_type = IteratorNodeLinks< is_const >

Definition at line 72 of file node_links.hpp.

◆ TreeType

using TreeType = typename std::conditional< is_const, Tree const, Tree >::type

Definition at line 67 of file node_links.hpp.


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