1.1 --- a/lemon/edge_set.h Wed Feb 22 12:45:59 2006 +0000
1.2 +++ b/lemon/edge_set.h Wed Feb 22 18:26:56 2006 +0000
1.3 @@ -19,13 +19,8 @@
1.4 #ifndef LEMON_EDGE_SET_H
1.5 #define LEMON_EDGE_SET_H
1.6
1.7 -#include <lemon/bits/erasable_graph_extender.h>
1.8 -#include <lemon/bits/clearable_graph_extender.h>
1.9 -#include <lemon/bits/extendable_graph_extender.h>
1.10 -#include <lemon/bits/iterable_graph_extender.h>
1.11 -#include <lemon/bits/alteration_notifier.h>
1.12 -#include <lemon/bits/default_map.h>
1.13 -#include <lemon/bits/graph_extender.h>
1.14 +
1.15 +#include <lemon/bits/edge_set_extender.h>
1.16
1.17 /// \ingroup graphs
1.18 /// \file
1.19 @@ -229,26 +224,11 @@
1.20 /// In the edge extension and removing it conforms to the
1.21 /// \ref concept::ErasableGraph "ErasableGraph" concept.
1.22 template <typename _Graph>
1.23 - class ListEdgeSet :
1.24 - public ErasableEdgeSetExtender<
1.25 - ClearableEdgeSetExtender<
1.26 - ExtendableEdgeSetExtender<
1.27 - MappableEdgeSetExtender<
1.28 - IterableGraphExtender<
1.29 - AlterableEdgeSetExtender<
1.30 - GraphExtender<
1.31 - ListEdgeSetBase<_Graph> > > > > > > > {
1.32 + class ListEdgeSet : public EdgeSetExtender<ListEdgeSetBase<_Graph> > {
1.33
1.34 public:
1.35
1.36 - typedef ErasableEdgeSetExtender<
1.37 - ClearableEdgeSetExtender<
1.38 - ExtendableEdgeSetExtender<
1.39 - MappableEdgeSetExtender<
1.40 - IterableGraphExtender<
1.41 - AlterableEdgeSetExtender<
1.42 - GraphExtender<
1.43 - ListEdgeSetBase<_Graph> > > > > > > > Parent;
1.44 + typedef EdgeSetExtender<ListEdgeSetBase<_Graph> > Parent;
1.45
1.46 typedef typename Parent::Node Node;
1.47 typedef typename Parent::Edge Edge;
1.48 @@ -336,26 +316,13 @@
1.49 /// In the edge extension and removing it conforms to the
1.50 /// \ref concept::ErasableUGraph "ErasableUGraph" concept.
1.51 template <typename _Graph>
1.52 - class ListUEdgeSet :
1.53 - public ErasableUEdgeSetExtender<
1.54 - ClearableUEdgeSetExtender<
1.55 - ExtendableUEdgeSetExtender<
1.56 - MappableUEdgeSetExtender<
1.57 - IterableUGraphExtender<
1.58 - AlterableUEdgeSetExtender<
1.59 - UGraphExtender<
1.60 - ListEdgeSetBase<_Graph> > > > > > > > {
1.61 + class ListUEdgeSet
1.62 + : public UEdgeSetExtender<UGraphBaseExtender<ListEdgeSetBase<_Graph> > > {
1.63
1.64 public:
1.65
1.66 - typedef ErasableUEdgeSetExtender<
1.67 - ClearableUEdgeSetExtender<
1.68 - ExtendableUEdgeSetExtender<
1.69 - MappableUEdgeSetExtender<
1.70 - IterableUGraphExtender<
1.71 - AlterableUEdgeSetExtender<
1.72 - UGraphExtender<
1.73 - ListEdgeSetBase<_Graph> > > > > > > > Parent;
1.74 + typedef UEdgeSetExtender<UGraphBaseExtender<
1.75 + ListEdgeSetBase<_Graph> > > Parent;
1.76
1.77 typedef typename Parent::Node Node;
1.78 typedef typename Parent::Edge Edge;
1.79 @@ -567,24 +534,11 @@
1.80 /// In the edge extension and removing it conforms to the
1.81 /// \ref concept::ExtendableGraph "ExtendableGraph" concept.
1.82 template <typename _Graph>
1.83 - class SmartEdgeSet :
1.84 - public ClearableEdgeSetExtender<
1.85 - ExtendableEdgeSetExtender<
1.86 - MappableEdgeSetExtender<
1.87 - IterableGraphExtender<
1.88 - AlterableEdgeSetExtender<
1.89 - GraphExtender<
1.90 - SmartEdgeSetBase<_Graph> > > > > > > {
1.91 + class SmartEdgeSet : public EdgeSetExtender<SmartEdgeSetBase<_Graph> > {
1.92
1.93 public:
1.94
1.95 - typedef ClearableEdgeSetExtender<
1.96 - ExtendableEdgeSetExtender<
1.97 - MappableEdgeSetExtender<
1.98 - IterableGraphExtender<
1.99 - AlterableEdgeSetExtender<
1.100 - GraphExtender<
1.101 - SmartEdgeSetBase<_Graph> > > > > > > Parent;
1.102 + typedef EdgeSetExtender<SmartEdgeSetBase<_Graph> > Parent;
1.103
1.104 typedef typename Parent::Node Node;
1.105 typedef typename Parent::Edge Edge;
1.106 @@ -671,24 +625,13 @@
1.107 /// In the edge extension and removing it conforms to the
1.108 /// \ref concept::ExtendableUGraph "ExtendableUGraph" concept.
1.109 template <typename _Graph>
1.110 - class SmartUEdgeSet :
1.111 - public ClearableUEdgeSetExtender<
1.112 - ExtendableUEdgeSetExtender<
1.113 - MappableUEdgeSetExtender<
1.114 - IterableUGraphExtender<
1.115 - AlterableUEdgeSetExtender<
1.116 - UGraphExtender<
1.117 - SmartEdgeSetBase<_Graph> > > > > > > {
1.118 + class SmartUEdgeSet
1.119 + : public UEdgeSetExtender<UGraphBaseExtender<SmartEdgeSetBase<_Graph> > > {
1.120
1.121 public:
1.122
1.123 - typedef ClearableUEdgeSetExtender<
1.124 - ExtendableUEdgeSetExtender<
1.125 - MappableUEdgeSetExtender<
1.126 - IterableUGraphExtender<
1.127 - AlterableUEdgeSetExtender<
1.128 - UGraphExtender<
1.129 - SmartEdgeSetBase<_Graph> > > > > > > Parent;
1.130 + typedef UEdgeSetExtender<UGraphBaseExtender<
1.131 + SmartEdgeSetBase<_Graph> > > Parent;
1.132
1.133 typedef typename Parent::Node Node;
1.134 typedef typename Parent::Edge Edge;