COIN-OR::LEMON - Graph Library

Changeset 336:8ff3b3e05478 in lemon-0.x for src/work/deba/edge_map_base.h


Ignore:
Timestamp:
04/16/04 14:13:07 (20 years ago)
Author:
Balazs Dezso
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@455
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/work/deba/edge_map_base.h

    r262 r336  
    66public:
    77        typedef G Graph;
     8
    89        typedef K KeyType;
    910       
     11        EdgeMapBase() : graph(0) {}
     12        EdgeMapBase(Graph& g) : graph(&g) {
     13                graph->edge_maps.add(*this);
     14        }
    1015
    11         MapBase() : graph(0) {}
    12         MapBase(Graph& g) : graph(&g) {graph.edge_maps.add(*this);}
    13 
    14         virtual ~MapBase() {graph.edge_maps.erase(*this);}     
    15 
     16        virtual ~EdgeMapBase() {
     17                if (graph) {
     18                        graph.edge_maps.erase(*this);
     19                }
     20        }
     21       
    1622protected:
    1723       
     
    2026        int graph_index;
    2127       
     28        void init() {
     29                for (Graph::EdgeIt it(g); g.valid(it); g.next(it)) {
     30                        add(it);
     31                }
     32        }
     33       
     34        void destroy() {
     35                for (Graph::EdgeIt it(g); g.valid(it); g.next(it)) {
     36                        erase(it);
     37                }
     38        }
    2239       
    2340        virtual void add(const KeyType&) = 0;
Note: See TracChangeset for help on using the changeset viewer.