Loading...
Searching...
No Matches
IterableBpGraphComponent< BAS > Class Template Reference

## Detailed Description

template<typename BAS = BaseBpGraphComponent>
class lemon::concepts::IterableBpGraphComponent< BAS >

This class describes the interface of iterable undirected bipartite graphs. It extends IterableGraphComponent with the core iterable interface of undirected bipartite graphs. This concept is part of the BpGraph concept.

`#include <lemon/concepts/graph_components.h>`

Inheritance diagram for IterableBpGraphComponent< BAS >:
[legend]

## Public Types

Class Based Iteration
This interface provides iterator classes for red and blue nodes.
typedef GraphItemIt< BpGraph, RedNode > | RedNodeIt
| This iterator goes through each red node.
typedef GraphItemIt< BpGraph, BlueNode > | BlueNodeIt
| This iterator goes through each blue node.
typedef GraphItemIt< Graph, Edge > | EdgeIt
| This iterator goes through each edge.
typedef GraphIncIt< Graph, Edge, Node, 'e'> | IncEdgeIt
| This iterator goes trough the incident edges of a node.
typedef GraphItemIt< Digraph, Node > | NodeIt
| This iterator goes through each node.
typedef GraphItemIt< Digraph, Arc > | ArcIt
| This iterator goes through each arc.
typedef GraphIncIt< Digraph, Arc, Node, 'i'> | InArcIt
| This iterator goes trough the incoming arcs of a node.
typedef GraphIncIt< Digraph, Arc, Node, 'o'> | OutArcIt
| This iterator goes trough the outgoing arcs of a node.
Public Types inherited from BaseDigraphComponent
typedef GraphItem< 'n'> | Node
| Node class of the digraph.
typedef GraphItem< 'a'> | Arc
| Arc class of the digraph.

## Public Member Functions

Base Iteration
This interface provides functions for iteration on red and blue nodes.
void | first (RedNode &) const
| Return the first red node.
void | next (RedNode &) const
| Return the next red node.
void | first (BlueNode &) const
| Return the first blue node.
void | next (BlueNode &) const
| Return the next blue node.
Public Member Functions inherited from IterableGraphComponent< BaseBpGraphComponent >
void | first (Edge &) const
| Return the first edge.
void | next (Edge &) const
| Return the next edge.
void | firstInc (Edge &, bool &, const Node &) const
| Return the first edge incident to the given node.
void | nextInc (Edge &, bool &) const
| Gives back the next of the edges from the given node.
Node | baseNode (const IncEdgeIt &) const
| The base node of the iterator.
Node | runningNode (const IncEdgeIt &) const
| The running node of the iterator.
Public Member Functions inherited from IterableDigraphComponent< BaseBpGraphComponent >
void | first (Node &) const
| Return the first node.
void | next (Node &) const
| Return the next node.
void | firstIn (Arc &, const Node &) const
| Return the first arc incoming to the given node.
void | nextIn (Arc &) const
| Return the next arc incoming to the given node.
void | firstOut (Arc &, const Node &) const
| Return the first arc outgoing form the given node.
void | nextOut (Arc &) const
| Return the next arc outgoing form the given node.
Node | baseNode (const InArcIt &) const
| The base node of the iterator.
Node | runningNode (const InArcIt &) const
| The running node of the iterator.
Public Member Functions inherited from BaseBpGraphComponent
bool | red (const Node &) const
| Gives back true for red nodes.
bool | blue (const Node &) const
| Gives back true for blue nodes.
RedNode | redNode (const Edge &) const
| Gives back the red end node of the edge.
BlueNode | blueNode (const Edge &) const
| Gives back the blue end node of the edge.
RedNode | asRedNodeUnsafe (const Node &) const
| Converts the node to red node object.
BlueNode | asBlueNodeUnsafe (const Node &) const
| Converts the node to blue node object.
RedNode | asRedNode (const Node &) const
| Converts the node to red node object.
BlueNode | asBlueNode (const Node &) const
| Converts the node to blue node object.
Public Member Functions inherited from BaseGraphComponent
Node | u (const Edge &) const
| Return one end node of an edge.
Node | v (const Edge &) const
| Return the other end node of an edge.
Arc | direct (const Edge &, bool) const
| Return a directed arc related to an edge.
Arc | direct (const Edge &, const Node &) const
| Return a directed arc related to an edge.
bool | direction (const Arc &) const
| Return the direction of the arc.
Arc | oppositeArc (const Arc &) const
| Return the opposite arc.
Public Member Functions inherited from BaseDigraphComponent
Node | source (const Arc &) const
| Return the source node of an arc.
Node | target (const Arc &) const
| Return the target node of an arc.
Node | oppositeNode (const Node &, const Arc &) const
| Return the opposite node on the given arc.

## Member Typedef Documentation

## RedNodeIt

template<typename BAS = BaseBpGraphComponent>

typedef GraphItemIt<BpGraph, RedNode> RedNodeIt

This iterator goes through each red node.

## BlueNodeIt

template<typename BAS = BaseBpGraphComponent>

typedef GraphItemIt<BpGraph, BlueNode> BlueNodeIt

This iterator goes through each blue node.

## Member Function Documentation

## first() [1/2]

template<typename BAS = BaseBpGraphComponent>

void first | ( | RedNode & |  | ) | const

inline

This function gives back the first red node in the iteration order.

## next() [1/2]

template<typename BAS = BaseBpGraphComponent>

void next | ( | RedNode & |  | ) | const

inline

This function gives back the next red node in the iteration order.

## first() [2/2]

template<typename BAS = BaseBpGraphComponent>

void first | ( | BlueNode & |  | ) | const

inline

This function gives back the first blue node in the iteration order.

## next() [2/2]

template<typename BAS = BaseBpGraphComponent>

void next | ( | BlueNode & |  | ) | const

inline

This function gives back the next blue node in the iteration order.