deba@262: #ifndef VECTOR_EDGE_MAP_H
deba@262: #define VECTOR_EDGE_MAP_H
deba@262: 
deba@262: #include <vector>
deba@262: 
deba@262: #include "edge_map_base.h"
deba@262: 
deba@262: template <typename G, typename E, typename V> 
deba@262: class VectorEdgeMap : public EdgeMapBase<G, E>{
deba@262: public:
deba@262: 	typedef V ValueType;
deba@262: 	
deba@262: 	VectorEdgeMap(Graph& g) : EdgeMapBase<G, E>(g) {}
deba@262: 	
deba@262: 	void add(const E& edge) {
deba@262: 		if (edge->id >= container.size()) {
deba@262: 			container.resize(edge->id);
deba@262: 		}
deba@262: 	}
deba@262: 	
deba@262: 	void erase(const E&) {}
deba@262: 
deba@262: private:
deba@262: 	typedef vector<ValueType> Container;
deba@262: 	
deba@262: 	Container container;
deba@262: }
deba@262: 
deba@262: #endif