diff -r 768ebc700bae -r a2ce3c4780b7 src/work/deba/vector_map.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/work/deba/vector_map.h Fri Apr 16 13:42:03 2004 +0000 @@ -0,0 +1,48 @@ +#ifndef VECTOR_MAP_H +#define VECTOR_MAP_H + +#include + +template class MapBase > +class VectorMap : public MapBase { +public: + typedef V ValueType; + + VectorMap() {} + VectorMap(G& g) : MapBase(g) { + init(); + } + + ~VectorMap() { +// destroy(); + } + + ValueType& operator[](const K& key) { + return container[key->id]; + } + + const ValueType& operator[](const K& key) const { + return container[key->id]; + } + + const ValueType& get(const K& key) const { + return container[key->id]; + } + + void set(const K& key, const ValueType& val) { + container[key->id] = val; + } + + void add(const K& key) { + container.resize(key->id); + } + + void erase(const K& key) {} + +private: + typedef std::vector Container; + + Container container; +} + +#endif