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