lemon/bits/clearable_graph_extender.h
changeset 1909 2d806130e700
parent 1842 8abf74160dc4
child 1910 f95eea8c34b0
equal deleted inserted replaced
2:6aaab5476de4 3:cc9bfdafa388
    40     }
    40     }
    41 
    41 
    42   };
    42   };
    43 
    43 
    44   template <typename _Base> 
    44   template <typename _Base> 
    45   class ClearableUndirGraphExtender : public _Base {
    45   class ClearableUGraphExtender : public _Base {
    46   public:
    46   public:
    47 
    47 
    48     typedef ClearableUndirGraphExtender Graph;
    48     typedef ClearableUGraphExtender Graph;
    49     typedef _Base Parent;
    49     typedef _Base Parent;
    50     typedef typename Parent::Node Node;
    50     typedef typename Parent::Node Node;
    51     typedef typename Parent::UndirEdge UndirEdge;
    51     typedef typename Parent::UEdge UEdge;
    52     typedef typename Parent::Edge Edge;
    52     typedef typename Parent::Edge Edge;
    53 
    53 
    54     void clear() {
    54     void clear() {
    55       Parent::getNotifier(Node()).clear();
    55       Parent::getNotifier(Node()).clear();
    56       Parent::getNotifier(UndirEdge()).clear();
    56       Parent::getNotifier(UEdge()).clear();
    57       Parent::getNotifier(Edge()).clear();
    57       Parent::getNotifier(Edge()).clear();
    58       Parent::clear();
    58       Parent::clear();
    59     }
    59     }
    60   };
    60   };
    61 
    61 
    62   template <typename _Base> 
    62   template <typename _Base> 
    63   class ClearableUndirEdgeSetExtender : public _Base {
    63   class ClearableUEdgeSetExtender : public _Base {
    64   public:
    64   public:
    65 
    65 
    66     typedef ClearableUndirEdgeSetExtender Graph;
    66     typedef ClearableUEdgeSetExtender Graph;
    67     typedef _Base Parent;
    67     typedef _Base Parent;
    68     typedef typename Parent::Node Node;
    68     typedef typename Parent::Node Node;
    69     typedef typename Parent::UndirEdge UndirEdge;
    69     typedef typename Parent::UEdge UEdge;
    70     typedef typename Parent::Edge Edge;
    70     typedef typename Parent::Edge Edge;
    71 
    71 
    72     void clear() {
    72     void clear() {
    73       Parent::getNotifier(UndirEdge()).clear();
    73       Parent::getNotifier(UEdge()).clear();
    74       Parent::getNotifier(Edge()).clear();
    74       Parent::getNotifier(Edge()).clear();
    75       Parent::clear();
    75       Parent::clear();
    76     }
    76     }
    77 
    77 
    78   };
    78   };
    79 
    79 
    80 
    80 
    81   template <typename _Base>
    81   template <typename _Base>
    82   class ClearableUndirBipartiteGraphExtender : public _Base {
    82   class ClearableUBipartiteGraphExtender : public _Base {
    83   public:
    83   public:
    84 
    84 
    85     typedef _Base Parent;
    85     typedef _Base Parent;
    86     typedef ClearableUndirBipartiteGraphExtender Graph;
    86     typedef ClearableUBipartiteGraphExtender Graph;
    87 
    87 
    88     typedef typename Parent::Node Node;
    88     typedef typename Parent::Node Node;
    89     typedef typename Parent::LowerNode LowerNode;
    89     typedef typename Parent::LowerNode LowerNode;
    90     typedef typename Parent::UpperNode UpperNode;
    90     typedef typename Parent::UpperNode UpperNode;
    91     typedef typename Parent::Edge Edge;
    91     typedef typename Parent::Edge Edge;
    92     typedef typename Parent::UndirEdge UndirEdge;
    92     typedef typename Parent::UEdge UEdge;
    93 
    93 
    94     void clear() {
    94     void clear() {
    95       Parent::getNotifier(Edge()).clear();
    95       Parent::getNotifier(Edge()).clear();
    96       Parent::getNotifier(UndirEdge()).clear();
    96       Parent::getNotifier(UEdge()).clear();
    97       Parent::getNotifier(Node()).clear();
    97       Parent::getNotifier(Node()).clear();
    98       Parent::getNotifier(LowerNode()).clear();
    98       Parent::getNotifier(LowerNode()).clear();
    99       Parent::getNotifier(UpperNode()).clear();
    99       Parent::getNotifier(UpperNode()).clear();
   100       Parent::clear();
   100       Parent::clear();
   101     }
   101     }