This header file contains core utilities for LEMON. It is automatically included by all graph types, therefore it usually do not have to be included directly.
#include <vector>#include <algorithm>#include <lemon/config.h>#include <lemon/bits/enable_if.h>#include <lemon/bits/traits.h>#include <lemon/assert.h>Classes | |
| struct | Invalid |
| Dummy type to make it easier to create invalid iterators. More... | |
| class | DigraphCopy< From, To > |
| Class to copy a digraph. More... | |
| class | GraphCopy< From, To > |
| Class to copy a graph. More... | |
| class | ConArcIt< GR > |
| Iterator for iterating on parallel arcs connecting the same nodes. More... | |
| class | ConEdgeIt< GR > |
| Iterator for iterating on parallel edges connecting the same nodes. More... | |
| class | DynArcLookUp< GR > |
| Dynamic arc look-up between given endpoints. More... | |
| class | ArcLookUp< GR > |
| Fast arc look-up between given endpoints. More... | |
| class | AllArcLookUp< GR > |
| Fast look-up of all arcs between given endpoints. More... | |
Namespaces | |
| namespace | lemon |
The namespace of LEMON. | |
Defines | |
| #define | DIGRAPH_TYPEDEFS(Digraph) |
| Create convenience typedefs for the digraph types and iterators. | |
| #define | TEMPLATE_DIGRAPH_TYPEDEFS(Digraph) |
| Create convenience typedefs for the digraph types and iterators. | |
| #define | GRAPH_TYPEDEFS(Graph) |
| Create convenience typedefs for the graph types and iterators. | |
| #define | TEMPLATE_GRAPH_TYPEDEFS(Graph) |
| Create convenience typedefs for the graph types and iterators. | |
Functions | |
| template<typename Graph , typename Item > | |
| int | countItems (const Graph &g) |
| Function to count the items in a graph. | |
| template<typename Graph > | |
| int | countNodes (const Graph &g) |
| Function to count the nodes in the graph. | |
| template<typename Graph > | |
| int | countArcs (const Graph &g) |
| Function to count the arcs in the graph. | |
| template<typename Graph > | |
| int | countEdges (const Graph &g) |
| Function to count the edges in the graph. | |
| template<typename Graph > | |
| int | countOutArcs (const Graph &g, const typename Graph::Node &n) |
Function to count the number of the out-arcs from node n. | |
| template<typename Graph > | |
| int | countInArcs (const Graph &g, const typename Graph::Node &n) |
Function to count the number of the in-arcs to node n. | |
| template<typename Graph > | |
| int | countIncEdges (const Graph &g, const typename Graph::Node &n) |
Function to count the number of the inc-edges to node n. | |
| template<typename From , typename To > | |
| DigraphCopy< From, To > | digraphCopy (const From &from, To &to) |
| Copy a digraph to another digraph. | |
| template<typename From , typename To > | |
| GraphCopy< From, To > | graphCopy (const From &from, To &to) |
| Copy a graph to another graph. | |
| template<typename Graph > | |
| Graph::Arc | findArc (const Graph &g, typename Graph::Node u, typename Graph::Node v, typename Graph::Arc prev=INVALID) |
| Find an arc between two nodes of a digraph. | |
| template<typename Graph > | |
| Graph::Edge | findEdge (const Graph &g, typename Graph::Node u, typename Graph::Node v, typename Graph::Edge p=INVALID) |
| Find an edge between two nodes of a graph. | |
1.7.3