As all concept describing classes it provides only interface without any sensible implementation. So any algorithm for bipartite undirected graph should compile with this class, but it will not run properly, of course.
In LEMON bipartite undirected graphs also fulfill the concept of the undirected graphs (UGraph Concept).
You can assume that all undirected bipartite graph can be handled as an undirected graph and consequently as a static graph.
The bipartite graph stores two types of nodes which are named ANode and BNode. The graph type contains two types ANode and BNode which are inherited from Node type. Moreover they have constructor which converts Node to either ANode or BNode when it is possible. Therefor everywhere the Node type can be used instead of ANode and BNode. So the usage of the ANode and BNode is not suggested.
The iteration on the partition can be done with the ANodeIt and BNodeIt classes. The node map can be used to map values to the nodes and similarly we can use to map values for just the ANodes and BNodes the ANodeMap and BNodeMap template classes. #include <lemon/concepts/bpugraph.h>
Classes | |
class | ANode |
Helper class for ANodes. More... | |
class | ANodeIt |
This iterator goes through each ANode. More... | |
class | ANodeMap |
Read write map of the ANodes to type T . More... | |
class | BNode |
Helper class for BNodes. More... | |
class | BNodeIt |
This iterator goes through each BNode. More... | |
class | BNodeMap |
Read write map of the BNodes to type T . More... | |
class | Edge |
The directed edge type. More... | |
class | EdgeIt |
This iterator goes through each directed edge. More... | |
class | EdgeMap |
Read write map of the directed edges to type T . More... | |
class | IncEdgeIt |
This iterator goes trough the incident undirected edges of a node. More... | |
class | InEdgeIt |
This iterator goes trough the incoming directed edges of a node. More... | |
class | Node |
The base type of node iterators, or in other words, the trivial node iterator. More... | |
class | NodeIt |
This iterator goes through each node. More... | |
class | NodeMap |
Read write map of the nodes to type T . More... | |
class | OutEdgeIt |
This iterator goes trough the outgoing directed edges of a node. More... | |
class | UEdge |
class | UEdgeIt |
This iterator goes through each undirected edge. More... | |
class | UEdgeMap |
Read write map of the undirected edges to type T . More... | |
Public Types | |
typedef True | UndirectedTag |
The undirected graph should be tagged by the UndirectedTag. | |
Public Member Functions | |
Edge | direct (const UEdge &, const Node &) const |
Direct the given undirected edge. | |
Edge | direct (const UEdge &, bool) const |
Direct the given undirected edge. | |
bool | aNode (Node) const |
bool | bNode (Node) const |
Node | aNode (UEdge) const |
Node | bNode (UEdge) const |
bool | direction (Edge) const |
Returns true if the edge has default orientation. | |
Edge | oppositeEdge (Edge) const |
Node | oppositeNode (Node, UEdge) const |
Opposite node on an edge. | |
Node | source (UEdge) const |
First node of the undirected edge. | |
Node | target (UEdge) const |
Second node of the undirected edge. | |
Node | source (Edge) const |
Source node of the directed edge. | |
Node | target (Edge) const |
Target node of the directed edge. | |
Node | baseNode (OutEdgeIt e) const |
Base node of the iterator. | |
Node | runningNode (OutEdgeIt e) const |
Running node of the iterator. | |
Node | baseNode (InEdgeIt e) const |
Base node of the iterator. | |
Node | runningNode (InEdgeIt e) const |
Running node of the iterator. | |
Node | baseNode (IncEdgeIt) const |
Base node of the iterator. | |
Node | runningNode (IncEdgeIt) const |
Running node of the iterator. |
typedef True UndirectedTag |
The undirected graph should be tagged by the UndirectedTag. This tag helps the enable_if technics to make compile time specializations for undirected graphs.
Direct the given undirected edge. The returned edge source will be the given node.
Direct the given undirected edge. The returned edge represents the given undirected edge and the direction comes from the given bool. The source of the undirected edge and the directed edge is the same when the given bool is true.
bool direction | ( | Edge | ) | const [inline] |
Returns whether the given directed edge is same orientation as the corresponding undirected edge's default orientation.
Returns the base node (the source in this case) of the iterator
Returns the running node (the target in this case) of the iterator
Returns the base node (the target in this case) of the iterator
Returns the running node (the source in this case) of the iterator