COIN-OR::LEMON - Graph Library

Ignore:
Timestamp:
03/06/06 11:28:37 (14 years ago)
Author:
Balazs Dezso
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2609
Message:

Clarifing alteration observing system
It is directly connected now to a container

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/bits/edge_set_extender.h

    r1996 r1999  
    7474
    7575    /// The edge observer registry.
    76     typedef AlterationNotifier<Edge> EdgeNotifier;
     76    typedef AlterationNotifier<EdgeSetExtender, Edge> EdgeNotifier;
    7777
    7878  protected:
     
    220220    template <typename _Value>
    221221    class EdgeMap
    222       : public IterableMapExtender<DefaultMap<Graph, Edge, _Value> > {
     222      : public MapExtender<DefaultMap<Graph, Edge, _Value> > {
    223223    public:
    224224      typedef EdgeSetExtender Graph;
    225       typedef IterableMapExtender<DefaultMap<Graph, Edge, _Value> > Parent;
     225      typedef MapExtender<DefaultMap<Graph, Edge, _Value> > Parent;
    226226
    227227      EdgeMap(const Graph& _g)
     
    265265    }
    266266
     267    EdgeSetExtender() {
     268      edge_notifier.setContainer(*this);
     269    }
    267270
    268271    ~EdgeSetExtender() {
     
    331334    }
    332335
    333     typedef AlterationNotifier<Edge> EdgeNotifier;
    334     typedef AlterationNotifier<UEdge> UEdgeNotifier;
     336    typedef AlterationNotifier<UEdgeSetExtender, Edge> EdgeNotifier;
     337    typedef AlterationNotifier<UEdgeSetExtender, UEdge> UEdgeNotifier;
    335338
    336339
     
    538541    template <typename _Value>
    539542    class EdgeMap
    540       : public IterableMapExtender<DefaultMap<Graph, Edge, _Value> > {
     543      : public MapExtender<DefaultMap<Graph, Edge, _Value> > {
    541544    public:
    542545      typedef UEdgeSetExtender Graph;
    543       typedef IterableMapExtender<DefaultMap<Graph, Edge, _Value> > Parent;
     546      typedef MapExtender<DefaultMap<Graph, Edge, _Value> > Parent;
    544547
    545548      EdgeMap(const Graph& _g)
     
    567570    template <typename _Value>
    568571    class UEdgeMap
    569       : public IterableMapExtender<DefaultMap<Graph, UEdge, _Value> > {
     572      : public MapExtender<DefaultMap<Graph, UEdge, _Value> > {
    570573    public:
    571574      typedef UEdgeSetExtender Graph;
    572       typedef IterableMapExtender<DefaultMap<Graph, UEdge, _Value> > Parent;
     575      typedef MapExtender<DefaultMap<Graph, UEdge, _Value> > Parent;
    573576
    574577      UEdgeMap(const Graph& _g)
     
    618621
    619622
     623    UEdgeSetExtender() {
     624      edge_notifier.setContainer(*this);
     625      uedge_notifier.setContainer(*this);
     626    }
     627
    620628    ~UEdgeSetExtender() {
    621       getNotifier(Edge()).clear();
    622       getNotifier(UEdge()).clear();
     629      uedge_notifier.clear();
     630      edge_notifier.clear();
    623631    }
    624632   
Note: See TracChangeset for help on using the changeset viewer.