diff -r 33fe0ee01dc5 -r c3f93631cd24 src/work/deba/node_map_registry.h --- a/src/work/deba/node_map_registry.h Thu Apr 22 16:36:57 2004 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -#ifndef NODE_MAP_REGISTRY_H -#define NODE_MAP_REGISTRY_H - -#include - -template -class NodeMapRegistry; - -#include "node_map_base.h" - -template -class NodeMapRegistry { -public: - typedef G Graph; - typedef K Node; - - typedef NodeMapBase MapBase; - friend class MapBase; - -protected: - - Graph* graph; - - typedef std::vector Container; - - Container container; - -public: - - NodeMapRegistry(Graph g) : graph(&g) {} - - void add(MapBase& map_base) { - if (map_base.graph) { - map_base.graph->node_maps.erase(map_base); - } - container.push_back(&map_base); - map_base.graph = graph; - map_base.graph_index = container.size()-1; - } - - void erase(MapBase& map_base) { - container.back()->graph_index = map_base.graph_index; - container[map_base.graph_index] = container.back(); - container.pop_back(); - map_base.graph = 0; - } - - - void add(Node& node) { - typename Container::iterator it; - for (it = container.begin(); it != container.end(); ++it) { - (*it)->add(node); - } - } - - void erase(Node& node) { - typename Container::iterator it; - for (it = container.begin(); it != container.end(); ++it) { - (*it)->erase(node); - } - } - -}; - -#endif