8 template <typename G, typename K, typename KIt>
16 template <typename G, typename K, typename KIt>
23 typedef MapBase<Graph, Key, KIt> Map;
28 typedef std::vector<Map*> Container;
36 MapRegistry(Graph& g) : container(0), graph(&g) {}
39 typename Container::iterator it;
40 for (it = container.begin(); it != container.end(); ++it) {
41 (*it)->destroy(*graph);
47 MapRegistry(const MapRegistry& ) {}
48 MapRegistry& operator=(const MapRegistry& ) {}
54 map.registry->erase(map);
56 container.push_back(&map);
58 map.registry_index = container.size()-1;
62 void erase(Map& map_base) {
63 map_base.destroy(*graph);
64 container.back()->registry_index = map_base.registry_index;
65 container[map_base.registry_index] = container.back();
67 map_base.registry = 0;
72 typename Container::iterator it;
73 for (it = container.begin(); it != container.end(); ++it) {
78 void erase(Key& key) {
79 typename Container::iterator it;
80 for (it = container.begin(); it != container.end(); ++it) {