src/work/deba/edge_map_base.h
author marci
Wed, 31 Mar 2004 16:38:38 +0000
changeset 270 e4811faaaa75
child 336 8ff3b3e05478
permissions -rw-r--r--
Ment-e a dereferalasok sporolasaval elobbre a vilag?
     1 #ifndef EDGE_MAP_BASE_H
     2 #define EDGE_MAP_BASE_H
     3 
     4 template <class G, class K>
     5 class EdgeMapBase {
     6 public:
     7 	typedef G Graph;
     8 	typedef K KeyType;
     9 	
    10 
    11 	MapBase() : graph(0) {}
    12 	MapBase(Graph& g) : graph(&g) {graph.edge_maps.add(*this);}
    13 
    14 	virtual ~MapBase() {graph.edge_maps.erase(*this);}	
    15 
    16 protected:
    17 	
    18 	Graph* graph;
    19 
    20 	int graph_index;
    21 	
    22 	
    23 	virtual void add(const KeyType&) = 0;
    24 	virtual void erase(const KeyType&) = 0;
    25 
    26 	friend class Graph;
    27 };
    28 
    29 #endif