COIN-OR::LEMON - Graph Library

Changeset 336:8ff3b3e05478 in lemon-0.x for src/work/deba/node_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/node_map_base.h

    r262 r336  
    99        typedef K KeyType;
    1010       
     11        NodeMapBase() : graph(0) {}
     12        NodeMapBase(Graph& g) : graph(&g) {
     13                graph->node_maps.add(*this);
     14        }
    1115
    12         MapBase() : graph(0) {}
    13         MapBase(Graph& g) : graph(&g) {graph.node_maps.add(*this);}
    14 
    15         virtual ~MapBase() {graph.node_maps.erase(*this);}     
    16 
     16        virtual ~NodeMapBase() {
     17                if (graph) {
     18                        graph.node_maps.erase(*this);
     19                }
     20        }
     21       
    1722protected:
    1823       
     
    2126        int graph_index;
    2227       
     28        void init() {
     29                for (Graph::NodeIt it(g); g.valid(it); g.next(it)) {
     30                        add(it);
     31                }
     32        }
     33       
     34        void destroy() {
     35                for (Graph::NodeIt it(g); g.valid(it); g.next(it)) {
     36                        erase(it);
     37                }
     38        }
    2339       
    2440        virtual void add(const KeyType&) = 0;
Note: See TracChangeset for help on using the changeset viewer.