My Project
Loading...
Searching...
No Matches
GraphIncIt< GR, Item, Base, sel > Class Template Reference

Detailed Description

template<typename GR, typename Item = typename GR::Arc, typename Base = typename GR::Node, char sel = '0'>
class lemon::concepts::GraphIncIt< GR, Item, Base, sel >

This class describes the concept of InArcIt, OutArcIt and IncEdgeIt subtypes of digraph and graph types.

Note
Since these iterator classes do not inherit from the same base class, there is an additional template parameter (selector) sel. For InArcIt you should instantiate it with character 'i', for OutArcIt with 'o' and for IncEdgeIt with 'e'.

#include <lemon/concepts/graph_components.h>

Public Member Functions

 GraphIncIt ()
 Default constructor.
 
 GraphIncIt (const GraphIncIt &it)
 Copy constructor.
 
 GraphIncIt (const GR &, const Base &)
 Constructor that sets the iterator to the first incoming or outgoing arc.
 
 GraphIncIt (Invalid)
 Constructor for conversion from INVALID.
 
GraphIncItoperator= (const GraphIncIt &)
 Assignment operator.
 
GraphIncItoperator++ ()
 Increment the iterator.
 
bool operator== (const GraphIncIt &) const
 Equality operator.
 
bool operator!= (const GraphIncIt &) const
 Inequality operator.
 

Constructor & Destructor Documentation

◆ GraphIncIt() [1/4]

template<typename GR , typename Item = typename GR::Arc, typename Base = typename GR::Node, char sel = '0'>
GraphIncIt ( )
inline

Default constructor.

Warning
The default constructor is not required to set the iterator to some well-defined value. So you should consider it as uninitialized.

◆ GraphIncIt() [2/4]

template<typename GR , typename Item = typename GR::Arc, typename Base = typename GR::Node, char sel = '0'>
GraphIncIt ( const GraphIncIt< GR, Item, Base, sel > & it)
inline

Copy constructor.

◆ GraphIncIt() [3/4]

template<typename GR , typename Item = typename GR::Arc, typename Base = typename GR::Node, char sel = '0'>
GraphIncIt ( const GR & ,
const Base &  )
inlineexplicit

Constructor that sets the iterator to the first arc incoming to or outgoing from the given node.

◆ GraphIncIt() [4/4]

template<typename GR , typename Item = typename GR::Arc, typename Base = typename GR::Node, char sel = '0'>
GraphIncIt ( Invalid )
inline

Constructor for conversion from INVALID. It initializes the iterator to be invalid.

See also
Invalid for more details.

Member Function Documentation

◆ operator=()

template<typename GR , typename Item = typename GR::Arc, typename Base = typename GR::Node, char sel = '0'>
GraphIncIt & operator= ( const GraphIncIt< GR, Item, Base, sel > & )
inline

Assignment operator for the iterator.

◆ operator++()

template<typename GR , typename Item = typename GR::Arc, typename Base = typename GR::Node, char sel = '0'>
GraphIncIt & operator++ ( )
inline

This operator increments the iterator, i.e. assigns it to the next arc incoming to or outgoing from the given node.

◆ operator==()

template<typename GR , typename Item = typename GR::Arc, typename Base = typename GR::Node, char sel = '0'>
bool operator== ( const GraphIncIt< GR, Item, Base, sel > & ) const
inline

Equality operator. Two iterators are equal if and only if they point to the same object or both are invalid.

◆ operator!=()

template<typename GR , typename Item = typename GR::Arc, typename Base = typename GR::Node, char sel = '0'>
bool operator!= ( const GraphIncIt< GR, Item, Base, sel > & ) const
inline

Inequality operator. Two iterators are equal if and only if they point to the same object or both are invalid.