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