COIN-OR::LEMON - Graph Library

Ignore:
Timestamp:
11/21/05 18:48:00 (19 years ago)
Author:
Balazs Dezso
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2370
Message:

Undir Bipartite Graph/Full? and Smart/ without concept, doc and concept
checking

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/bits/alteration_notifier.h

    r1729 r1820  
    440440    }
    441441  };
     442
     443
     444  template <typename _Base>
     445  class AlterableUndirBipartiteGraphExtender : public _Base {
     446  public:
     447
     448    typedef _Base Parent;
     449    typedef AlterableUndirBipartiteGraphExtender Graph;
     450 
     451    typedef typename Parent::Node Node;
     452    typedef typename Parent::LowerNode LowerNode;
     453    typedef typename Parent::UpperNode UpperNode;
     454    typedef typename Parent::Edge Edge;
     455    typedef typename Parent::UndirEdge UndirEdge;
     456 
     457 
     458    typedef AlterationNotifier<Node> NodeNotifier;
     459    typedef AlterationNotifier<LowerNode> LowerNodeNotifier;
     460    typedef AlterationNotifier<UpperNode> UpperNodeNotifier;
     461    typedef AlterationNotifier<Edge> EdgeNotifier;
     462    typedef AlterationNotifier<UndirEdge> UndirEdgeNotifier;
     463
     464  protected:
     465
     466    mutable NodeNotifier nodeNotifier;
     467    mutable LowerNodeNotifier lowerNodeNotifier;
     468    mutable UpperNodeNotifier upperNodeNotifier;
     469    mutable EdgeNotifier edgeNotifier;
     470    mutable UndirEdgeNotifier undirEdgeNotifier;
     471
     472  public:
     473
     474    NodeNotifier& getNotifier(Node) const {
     475      return nodeNotifier;
     476    }
     477
     478    LowerNodeNotifier& getNotifier(LowerNode) const {
     479      return lowerNodeNotifier;
     480    }
     481
     482    UpperNodeNotifier& getNotifier(UpperNode) const {
     483      return upperNodeNotifier;
     484    }
     485
     486    EdgeNotifier& getNotifier(Edge) const {
     487      return edgeNotifier;
     488    }
     489
     490    UndirEdgeNotifier& getNotifier(UndirEdge) const {
     491      return undirEdgeNotifier;
     492    }
     493
     494    ~AlterableUndirBipartiteGraphExtender() {
     495      nodeNotifier.clear();
     496      lowerNodeNotifier.clear();
     497      upperNodeNotifier.clear();
     498      edgeNotifier.clear();
     499      undirEdgeNotifier.clear();
     500    }
     501
     502  };
    442503 
    443504/// @}
Note: See TracChangeset for help on using the changeset viewer.