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. |