1.1 --- a/lemon/edge_set.h Sun Oct 04 10:15:32 2009 +0200
1.2 +++ b/lemon/edge_set.h Wed Dec 09 11:14:06 2009 +0100
1.3 @@ -255,13 +255,14 @@
1.4 /// that node can be removed from the underlying graph, in this case
1.5 /// all arcs incident to the given node is erased from the arc set.
1.6 ///
1.7 + /// This class fully conforms to the \ref concepts::Digraph
1.8 + /// "Digraph" concept.
1.9 + /// It provides only linear time counting for nodes and arcs.
1.10 + ///
1.11 /// \param GR The type of the graph which shares its node set with
1.12 /// this class. Its interface must conform to the
1.13 /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph"
1.14 /// concept.
1.15 - ///
1.16 - /// This class fully conforms to the \ref concepts::Digraph
1.17 - /// "Digraph" concept.
1.18 template <typename GR>
1.19 class ListArcSet : public ArcSetExtender<ListArcSetBase<GR> > {
1.20 typedef ArcSetExtender<ListArcSetBase<GR> > Parent;
1.21 @@ -685,13 +686,14 @@
1.22 /// be removed from the underlying graph, in this case all edges
1.23 /// incident to the given node is erased from the arc set.
1.24 ///
1.25 + /// This class fully conforms to the \ref concepts::Graph "Graph"
1.26 + /// concept.
1.27 + /// It provides only linear time counting for nodes, edges and arcs.
1.28 + ///
1.29 /// \param GR The type of the graph which shares its node set
1.30 /// with this class. Its interface must conform to the
1.31 /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph"
1.32 /// concept.
1.33 - ///
1.34 - /// This class fully conforms to the \ref concepts::Graph "Graph"
1.35 - /// concept.
1.36 template <typename GR>
1.37 class ListEdgeSet : public EdgeSetExtender<ListEdgeSetBase<GR> > {
1.38 typedef EdgeSetExtender<ListEdgeSetBase<GR> > Parent;
1.39 @@ -867,7 +869,7 @@
1.40 arc.id = arcs.size() - 1;
1.41 }
1.42
1.43 - void next(Arc& arc) const {
1.44 + static void next(Arc& arc) {
1.45 --arc.id;
1.46 }
1.47
1.48 @@ -954,13 +956,14 @@
1.49 /// single-linked lists for enumerate outgoing and incoming
1.50 /// arcs. Therefore the arcs cannot be erased from the arc sets.
1.51 ///
1.52 + /// This class fully conforms to the \ref concepts::Digraph "Digraph"
1.53 + /// concept.
1.54 + /// It provides only linear time counting for nodes and arcs.
1.55 + ///
1.56 /// \warning If a node is erased from the underlying graph and this
1.57 /// node is the source or target of one arc in the arc set, then
1.58 /// the arc set is invalidated, and it cannot be used anymore. The
1.59 /// validity can be checked with the \c valid() member function.
1.60 - ///
1.61 - /// This class fully conforms to the \ref concepts::Digraph
1.62 - /// "Digraph" concept.
1.63 template <typename GR>
1.64 class SmartArcSet : public ArcSetExtender<SmartArcSetBase<GR> > {
1.65 typedef ArcSetExtender<SmartArcSetBase<GR> > Parent;
1.66 @@ -1173,7 +1176,7 @@
1.67 arc.id = arcs.size() - 1;
1.68 }
1.69
1.70 - void next(Arc& arc) const {
1.71 + static void next(Arc& arc) {
1.72 --arc.id;
1.73 }
1.74
1.75 @@ -1181,7 +1184,7 @@
1.76 arc.id = arcs.size() / 2 - 1;
1.77 }
1.78
1.79 - void next(Edge& arc) const {
1.80 + static void next(Edge& arc) {
1.81 --arc.id;
1.82 }
1.83
1.84 @@ -1304,13 +1307,14 @@
1.85 /// single-linked lists for enumerate incident edges. Therefore the
1.86 /// edges cannot be erased from the edge sets.
1.87 ///
1.88 + /// This class fully conforms to the \ref concepts::Graph "Graph"
1.89 + /// concept.
1.90 + /// It provides only linear time counting for nodes, edges and arcs.
1.91 + ///
1.92 /// \warning If a node is erased from the underlying graph and this
1.93 /// node is incident to one edge in the edge set, then the edge set
1.94 /// is invalidated, and it cannot be used anymore. The validity can
1.95 /// be checked with the \c valid() member function.
1.96 - ///
1.97 - /// This class fully conforms to the \ref concepts::Graph
1.98 - /// "Graph" concept.
1.99 template <typename GR>
1.100 class SmartEdgeSet : public EdgeSetExtender<SmartEdgeSetBase<GR> > {
1.101 typedef EdgeSetExtender<SmartEdgeSetBase<GR> > Parent;