Finished MinLengthPaths: a specialization of MinCostFlows.
10 template <typename G, typename K, typename KIt>
18 template <typename G, typename K, typename KIt>
25 typedef MapBase<Graph, Key, KIt> Map;
30 typedef std::vector<Map*> Container;
38 MapRegistry(const MapRegistry&) {}
40 MapRegistry& operator=(const MapRegistry&) {
41 for (it = container.begin(); it != container.end(); ++it) {
49 typename Container::iterator it;
50 for (it = container.begin(); it != container.end(); ++it) {
60 void attach(Map& map) {
62 map.registry->detach(map);
64 container.push_back(&map);
66 map.registry_index = container.size()-1;
69 void detach(Map& map) {
70 container.back()->registry_index = map.registry_index;
71 container[map.registry_index] = container.back();
78 virtual void add(Key& key) {
79 typename Container::iterator it;
80 for (it = container.begin(); it != container.end(); ++it) {
85 virtual void erase(Key& key) {
86 typename Container::iterator it;
87 for (it = container.begin(); it != container.end(); ++it) {