COIN-OR::LEMON - Graph Library

Changeset 571:9632ea8be6ca in lemon-0.x for src/work/deba/map_base.h


Ignore:
Timestamp:
05/07/04 10:18:30 (17 years ago)
Author:
Balazs Dezso
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@746
Message:
 
File:
1 edited

Legend:

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

    r378 r571  
    4040                */
    4141       
    42                 MapBase(Registry& r) : registry(0) {
    43                         registry->add(*this);
     42                MapBase(Graph& g, Registry& r) : graph(&g), registry(0) {
     43                        registry->attach(*this);
    4444                }
    4545
     
    4848                */     
    4949       
    50                 MapBase(const MapBase& copy) : registry(0) {
    51                         if (registry) {
    52                                 registry->add(*this);
     50                MapBase(const MapBase& copy) : registry(0), graph(copy.graph) {
     51                        if (copy.registry) {
     52                                copy.registry->attach(*this);
    5353                        }
    5454                }
     
    6060                const MapBase& operator=(const MapBase& copy) {
    6161                        if (registry) {
    62                                 registry->erase(*this);
     62                                registry->detach(*this);
    6363                        }
    64                         registry = copy.registry;
    65                         if (registry) {
    66                                 registry->add(*this);
     64                        graph = copy.graph;
     65                        if (copy.registry) {
     66                                copy.registry->attach(*this);
    6767                        }
    6868                }
     
    7575                virtual ~MapBase() {
    7676                        if (registry) {
    77                                 registry->erase(*this);
     77                                registry->detach(*this);
    7878                        }
    7979                }
     
    8282               
    8383                Registry* registry;
     84                Graph* graph;
    8485
    8586                int registry_index;
     
    8990                */
    9091       
    91                 virtual void init(Graph& g) {
     92                virtual void init() {
    9293
    93                         for (KeyIt it(g); g.valid(it); g.next(it)) {
     94                        for (KeyIt it(*graph); graph->valid(it); graph->next(it)) {
    9495                                add(it);
    9596                        }
     
    100101                */
    101102       
    102                 virtual void destroy(Graph& g) {
    103                         for (KeyIt it(g); g.valid(it); g.next(it)) {
     103                virtual void destroy() {
     104                        for (KeyIt it(*graph); graph->valid(it); graph->next(it)) {
    104105                                erase(it);
    105106                        }
Note: See TracChangeset for help on using the changeset viewer.