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`.
GraphIncIt & | operator= (const GraphIncIt &)
| Assignment operator.
GraphIncIt & | operator++ ()
| 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 & | )

inline explicit

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.