Aleph-w  1.9
General library for algorithms and data structures
Aleph::Digraph_Iterator< GT, Filter > Class Template Reference

#include <tpl_graph.H>

Public Types

using Item_Type = typename Itor::Item_Type
 
using Iterator_Type = Itor
 The type of element.
 

Public Member Functions

 Digraph_Iterator (typename GT::Node *p) noexcept(noexcept(Filter(p)) and noexcept(Itor(p, filt)))
 Iterator type. More...
 
void next ()
 
void next_ne () noexcept
 
void prev ()
 
bool has_curr () const noexcept
 Return true the iterator has an current arc.
 
GT::Arc * get_curr () const
 
GT::Arc * get_curr_ne () const noexcept
 
auto get_current_arc () const
 
GT::Node * get_node (typename GT::Arc *a) const noexcept
 
GT::Node * get_node () const
 Return the connected node to current arc.
 
auto get_tgt_node () const
 
GT::Node * get_node_ne () const noexcept
 Return the connected node to current arc.
 
auto get_tgt_node_ne () const noexcept
 
void reset_first () noexcept
 Reset the iterator to the first arc.
 
void reset_last () noexcept
 Reset the iterator to the last arc.
 
void end () noexcept
 Put the iterator in end state.
 

Detailed Description

template<class GT, class Filter>
class Aleph::Digraph_Iterator< GT, Filter >

Filtered iterator on directed graphs.

Constructor & Destructor Documentation

◆ Digraph_Iterator()

template<class GT , class Filter >
Aleph::Digraph_Iterator< GT, Filter >::Digraph_Iterator ( typename GT::Node *  p)
inlinenoexcept

Iterator type.

Initialize an iterator on adjacent arcs (incoming or outcoming) of p

Member Function Documentation

◆ get_curr()

template<class GT , class Filter >
GT::Arc* Aleph::Digraph_Iterator< GT, Filter >::get_curr ( ) const
inline

Return the current arc. Throws overflow_error it there is no current

◆ get_curr_ne()

template<class GT , class Filter >
GT::Arc* Aleph::Digraph_Iterator< GT, Filter >::get_curr_ne ( ) const
inlinenoexcept

Return the current arc. Throws overflow_error it there is no current

+ Here is the caller graph for this function:

◆ get_current_arc()

template<class GT , class Filter >
auto Aleph::Digraph_Iterator< GT, Filter >::get_current_arc ( ) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ get_node()

template<class GT , class Filter >
GT::Node* Aleph::Digraph_Iterator< GT, Filter >::get_node ( typename GT::Arc *  a) const
inlinenoexcept

Return the connected node to arc. The result depends of iterator type

◆ get_tgt_node()

template<class GT , class Filter >
auto Aleph::Digraph_Iterator< GT, Filter >::get_tgt_node ( ) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ get_tgt_node_ne()

template<class GT , class Filter >
auto Aleph::Digraph_Iterator< GT, Filter >::get_tgt_node_ne ( ) const
inlinenoexcept

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ next()

template<class GT , class Filter >
void Aleph::Digraph_Iterator< GT, Filter >::next ( )
inline

Move the iterator one position forward. Throws overflow_error it there is no current

+ Here is the call graph for this function:

◆ prev()

template<class GT , class Filter >
void Aleph::Digraph_Iterator< GT, Filter >::prev ( )
inline

Move the iterator one position backward. Throws overflow_error it there is no current

+ Here is the call graph for this function:

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

Leandro Rabindranath León