src/work/deba/vector_edge_map.h
author beckerjc
Sat, 17 Apr 2004 19:19:57 +0000
changeset 349 42c660f58702
permissions -rw-r--r--
Kruskal lenyegeben kesz.
Kell meg dokumentalni, meg meg egy par jol hasznalhato wrapper fv.
Es valamit meg kene csinalni azzal, hogy nem const ref. a kimeno boolmap,
viszont sokszor "on-the-fly" akarjuk megkonstrualni (es ilyenkor persze a
const-os mapet is lehet set-elni...)
     1 #ifndef VECTOR_EDGE_MAP_H
     2 #define VECTOR_EDGE_MAP_H
     3 
     4 #include <vector>
     5 
     6 #include "edge_map_base.h"
     7 
     8 template <typename G, typename E, typename V> 
     9 class VectorEdgeMap : public EdgeMapBase<G, E>{
    10 public:
    11 	typedef V ValueType;
    12 	
    13 	VectorEdgeMap(Graph& g) : EdgeMapBase<G, E>(g) {}
    14 	
    15 	void add(const E& edge) {
    16 		if (edge->id >= container.size()) {
    17 			container.resize(edge->id);
    18 		}
    19 	}
    20 	
    21 	void erase(const E&) {}
    22 
    23 private:
    24 	typedef vector<ValueType> Container;
    25 	
    26 	Container container;
    27 }
    28 
    29 #endif