Loading...
Searching...
No Matches
core.h File Reference
`#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 | BpGraphCopy< From, To >
| Class to copy a bipartite 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.

## Macros

#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.
#define | BPGRAPH_TYPEDEFS(BpGraph)
| Create convenience typedefs for the bipartite graph types and iterators.
#define | TEMPLATE_BPGRAPH_TYPEDEFS(BpGraph)
| Create convenience typedefs for the bipartite 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 | countRedNodes (const Graph &g)
| Function to count the red nodes in the graph.
template<typename Graph>
int | countBlueNodes (const Graph &g)
| Function to count the blue 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 GR>
bool | undirected (const GR &g)
| Check whether a graph is undirected.
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 From, typename To>
BpGraphCopy< From, To > | bpGraphCopy (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.