lemon/bits/clearable_graph_extender.h
changeset 1865 dcefd1d1377f
parent 1820 22099ef840d7
child 1909 2d806130e700
equal deleted inserted replaced
1:bfacac8897c1 2:6aaab5476de4
    24     }
    24     }
    25 
    25 
    26   };
    26   };
    27 
    27 
    28   template <typename _Base> 
    28   template <typename _Base> 
       
    29   class ClearableEdgeSetExtender : public _Base {
       
    30   public:
       
    31 
       
    32     typedef ClearableEdgeSetExtender Graph;
       
    33     typedef _Base Parent;
       
    34     typedef typename Parent::Node Node;
       
    35     typedef typename Parent::Edge Edge;
       
    36 
       
    37     void clear() {
       
    38       Parent::getNotifier(Edge()).clear();
       
    39       Parent::clear();
       
    40     }
       
    41 
       
    42   };
       
    43 
       
    44   template <typename _Base> 
    29   class ClearableUndirGraphExtender : public _Base {
    45   class ClearableUndirGraphExtender : public _Base {
    30   public:
    46   public:
    31 
    47 
    32     typedef ClearableUndirGraphExtender Graph;
    48     typedef ClearableUndirGraphExtender Graph;
    33     typedef _Base Parent;
    49     typedef _Base Parent;
    35     typedef typename Parent::UndirEdge UndirEdge;
    51     typedef typename Parent::UndirEdge UndirEdge;
    36     typedef typename Parent::Edge Edge;
    52     typedef typename Parent::Edge Edge;
    37 
    53 
    38     void clear() {
    54     void clear() {
    39       Parent::getNotifier(Node()).clear();
    55       Parent::getNotifier(Node()).clear();
       
    56       Parent::getNotifier(UndirEdge()).clear();
       
    57       Parent::getNotifier(Edge()).clear();
       
    58       Parent::clear();
       
    59     }
       
    60   };
       
    61 
       
    62   template <typename _Base> 
       
    63   class ClearableUndirEdgeSetExtender : public _Base {
       
    64   public:
       
    65 
       
    66     typedef ClearableUndirEdgeSetExtender Graph;
       
    67     typedef _Base Parent;
       
    68     typedef typename Parent::Node Node;
       
    69     typedef typename Parent::UndirEdge UndirEdge;
       
    70     typedef typename Parent::Edge Edge;
       
    71 
       
    72     void clear() {
    40       Parent::getNotifier(UndirEdge()).clear();
    73       Parent::getNotifier(UndirEdge()).clear();
    41       Parent::getNotifier(Edge()).clear();
    74       Parent::getNotifier(Edge()).clear();
    42       Parent::clear();
    75       Parent::clear();
    43     }
    76     }
    44 
    77