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