graph_utils.h File Reference


Detailed Description

#include <iterator>
#include <vector>
#include <map>
#include <cmath>
#include <algorithm>
#include <lemon/bits/invalid.h>
#include <lemon/bits/utility.h>
#include <lemon/maps.h>
#include <lemon/bits/traits.h>
#include <lemon/bits/alteration_notifier.h>
#include <lemon/bits/default_map.h>

Namespaces

namespace  lemon
namespace  lemon::_graph_utils_bits

Classes

class  ConEdgeIt
 Iterator for iterating on edges connected the same nodes. More...
class  ConUEdgeIt
 Iterator for iterating on uedges connected the same nodes. More...
class  GraphCopy
 Class to copy a graph. More...
class  UGraphCopy
 Class to copy an undirected graph. More...
class  IdMap
 Provides an immutable and unique id for each item in the graph. More...
class  IdMap::InverseMap
 The class represents the inverse of its owner (IdMap). More...
class  InvertableMap
 General invertable graph-map type. More...
class  InvertableMap::ValueIterator
 Forward iterator for values. More...
class  InvertableMap::InverseMap
 The inverse map type. More...
class  DescriptorMap
 Provides a mutable, continuous and unique descriptor for each item in the graph. More...
class  DescriptorMap::InverseMap
 The inverse map type of DescriptorMap. More...
class  SourceMap
 Returns the source of the given edge. More...
class  TargetMap
 Returns the target of the given edge. More...
class  ForwardMap
 Returns the "forward" directed edge view of an undirected edge. More...
class  BackwardMap
 Returns the "backward" directed edge view of an undirected edge. More...
class  PotentialDifferenceMap
 Potential difference map. More...
class  InDegMap
 Map of the node in-degrees. More...
class  OutDegMap
 Map of the node out-degrees. More...
class  EdgeLookUp
 Fast edge look up between given endpoints. More...
class  AllEdgeLookUp
 Fast look up of all edges between given endpoints. More...

Defines

#define GRAPH_TYPEDEFS(Graph)
 Creates convenience typedefs for the graph types and iterators.
#define UGRAPH_TYPEDEFS(Graph)
 Creates convenience typedefs for the undirected graph types and iterators.
#define BPUGRAPH_TYPEDEFS(Graph)
 Creates convenience typedefs for the bipartite undirected graph types and iterators.

Functions

template<typename Graph, typename Item>
int countItems (const Graph &g)
 Function to count the items in the graph.
template<typename Graph>
int countNodes (const Graph &g)
 Function to count the nodes in the graph.
template<typename Graph>
int countANodes (const Graph &g)
 Function to count the anodes in the graph.
template<typename Graph>
int countBNodes (const Graph &g)
 Function to count the bnodes in the graph.
template<typename Graph>
int countEdges (const Graph &g)
 Function to count the edges in the graph.
template<typename Graph>
int countUEdges (const Graph &g)
 Function to count the undirected edges in the graph.
template<typename Graph>
int countOutEdges (const Graph &_g, const typename Graph::Node &_n)
 Function to count the number of the out-edges from node n.
template<typename Graph>
int countInEdges (const Graph &_g, const typename Graph::Node &_n)
 Function to count the number of the in-edges 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 Graph>
Graph::Edge findEdge (const Graph &g, typename Graph::Node u, typename Graph::Node v, typename Graph::Edge prev=INVALID)
 Finds an edge between two nodes of a graph.
template<typename Graph>
Graph::UEdge findUEdge (const Graph &g, typename Graph::Node u, typename Graph::Node v, typename Graph::UEdge p=INVALID)
 Finds an uedge between two nodes of a graph.
template<typename Target, typename Source, typename ItemIt, typename Ref>
void copyMap (Target &target, const Source &source, ItemIt it, const Ref &ref)
 Copy a map.
template<typename Target, typename Source, typename ItemIt>
void copyMap (Target &target, const Source &source, ItemIt it)
 Copy the source map to the target map.
template<typename Target, typename Source>
GraphCopy< Target, Source > copyGraph (Target &target, const Source &source)
 Copy a graph to another graph.
template<typename Target, typename Source>
UGraphCopy< Target, Source > copyUGraph (Target &target, const Source &source)
 Copy a graph to another graph.


Generated on Tue Oct 31 09:49:37 2006 for LEMON by  doxygen 1.5.1