lemon/edge_set.h
changeset 799 6be1f9bd2ac0
parent 778 a143f19f465b
child 877 141f9c0db4a3
     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;