Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ListGraph Class Reference
[Graph Structures]

#include <lemon/list_graph.h>

List of all members.


Detailed Description

This is a simple and fast erasable graph implementation.

It addition that it conforms to the ErasableGraph concept, it also provides several additional useful extra functionalities.

See also:
concept::ErasableGraph.

Definition at line 324 of file list_graph.h.

Public Member Functions

void moveTarget (Edge e, Node n)
 Moves the target of e to n.
void moveSource (Edge e, Node n)
 Moves the source of e to n.
void reverseEdge (Edge e)
 Invert the direction of an edge.
void reserveEdge (int n)
 Using this it possible to avoid the superfluous memory allocation.
void contract (Node a, Node b, bool r=true)
 Contract two nodes.

Classes

class  SnapShot
 Class to make a snapshot of the graph and to restrore to it later. More...


Member Function Documentation

void moveTarget Edge  e,
Node  n
[inline]
 

Moves the target of e to n

Note:
The Edge's and OutEdge's referencing the moved edge remain valid. However InEdge's are invalidated.

Definition at line 334 of file list_graph.h.

void moveSource Edge  e,
Node  n
[inline]
 

Moves the source of e to n

Note:
The Edge's and InEdge's referencing the moved edge remain valid. However OutEdge's are invalidated.

Definition at line 342 of file list_graph.h.

void reverseEdge Edge  e  )  [inline]
 

Note:
The Edge's referencing the moved edge remain valid. However OutEdge's and InEdge's are invalidated.

Definition at line 349 of file list_graph.h.

void reserveEdge int  n  )  [inline]
 

Using this it possible to avoid the superfluous memory allocation.

Todo:
more docs...

Definition at line 359 of file list_graph.h.

void contract Node  a,
Node  b,
bool  r = true
[inline]
 

This function contracts two nodes.

Node b will be removed but instead of deleting its neighboring edges, they will be joined to a. The last parameter r controls whether to remove loops. true means that loops will be removed.

Note:
The Edges referencing the moved edge remain valid. However InEdge's and OutEdge's may be invalidated.

Definition at line 374 of file list_graph.h.

Here is the call graph for this function:


The documentation for this class was generated from the following file:
Generated on Mon Feb 21 15:02:33 2005 for LEMON by  doxygen 1.4.1