next up previous contents
Next: Face Maps (face_map) Up: Graphs and Related Data Previous: Node Maps (node_map)

   
Edge Maps (edge_map)

Definition

An instance of the data type edge_map<E> is a map for the edges of a graph G, i.e., equivalent to map<edge,E> (cf. Maps). It can be used as a dynamic variant of the data type edge_array (cf. Edge Arrays).

Creation

edge_map<E> M; introduces a variable M of type edge_map<E> and initializes it to the map with empty domain.

edge_map<E>

M(graph G); introduces a variable M of type edge_map<E> and initializes it with a mapping m from the set of all edges of G into the set of variables of type E. The variables in the range of m are initialized by a call of the default constructor of type E.

edge_map<E>

M(graph G, E x); introduces a variable M of type edge_map<E> and initializes it with a mapping m from the set of all edges of G into the set of variables of type E. The variables in the range of m are initialized with a copy of x.

   

Operations

graph M.get_graph() returns a reference to the graph of A.
void M.init() makes M an edge map with empty domain.
void M.init(graph G) makes M a mapping m from the set of all edges of G into the set of variables of type E. The variables in the range of m are initialized by a call of the default constructor of type E.
void M.init(graph G, E x) makes M a mapping m from the set of all edges of G into the set of variables of type E. The variables in the range of m are initialized with a copy of x.
E& M[edge e] returns the variable M(e).

Implementation

Edge maps are implemented by an efficient hashing method based on the internal numbering of the edges. An access operation takes expected time O(1).


next up previous contents
Next: Face Maps (face_map) Up: Graphs and Related Data Previous: Node Maps (node_map)
LEDA research project
1998-10-02