Merge
authorAlpar Juttner <alpar@cs.elte.hu>
Wed, 18 Nov 2009 14:38:02 +0100
changeset 835c92296660262
parent 834 c2230649a493
parent 833 e20173729589
child 839 a2d5fd4c309a
Merge
doc/min_cost_flow.dox
lemon/bellman_ford.h
lemon/bfs.h
lemon/dfs.h
lemon/dijkstra.h
lemon/hypercube_graph.h
lemon/list_graph.h
lemon/network_simplex.h
lemon/preflow.h
     1.1 --- a/doc/min_cost_flow.dox	Sun Nov 15 19:57:02 2009 +0100
     1.2 +++ b/doc/min_cost_flow.dox	Wed Nov 18 14:38:02 2009 +0100
     1.3 @@ -78,7 +78,7 @@
     1.4     - if \f$lower(uv)<f(uv)<upper(uv)\f$, then \f$cost^\pi(uv)=0\f$;
     1.5     - if \f$cost^\pi(uv)<0\f$, then \f$f(uv)=upper(uv)\f$.
     1.6   - For all \f$u\in V\f$ nodes:
     1.7 -   - \f$\pi(u)<=0\f$;
     1.8 +   - \f$\pi(u)\leq 0\f$;
     1.9     - if \f$\sum_{uv\in A} f(uv) - \sum_{vu\in A} f(vu) \neq sup(u)\f$,
    1.10       then \f$\pi(u)=0\f$.
    1.11   
    1.12 @@ -145,7 +145,7 @@
    1.13     - if \f$lower(uv)<f(uv)<upper(uv)\f$, then \f$cost^\pi(uv)=0\f$;
    1.14     - if \f$cost^\pi(uv)<0\f$, then \f$f(uv)=upper(uv)\f$.
    1.15   - For all \f$u\in V\f$ nodes:
    1.16 -   - \f$\pi(u)>=0\f$;
    1.17 +   - \f$\pi(u)\geq 0\f$;
    1.18     - if \f$\sum_{uv\in A} f(uv) - \sum_{vu\in A} f(vu) \neq sup(u)\f$,
    1.19       then \f$\pi(u)=0\f$.
    1.20  
     2.1 --- a/lemon/bellman_ford.h	Sun Nov 15 19:57:02 2009 +0100
     2.2 +++ b/lemon/bellman_ford.h	Wed Nov 18 14:38:02 2009 +0100
     2.3 @@ -300,7 +300,7 @@
     2.4      ///
     2.5      /// \ref named-templ-param "Named parameter" for setting
     2.6      /// \c OperationTraits type.
     2.7 -    /// For more information see \ref BellmanFordDefaultOperationTraits.
     2.8 +    /// For more information, see \ref BellmanFordDefaultOperationTraits.
     2.9      template <class T>
    2.10      struct SetOperationTraits
    2.11        : public BellmanFord< Digraph, LengthMap, SetOperationTraitsTraits<T> > {
    2.12 @@ -718,7 +718,7 @@
    2.13      /// is not reached from the root(s) or if \c v is a root.
    2.14      ///
    2.15      /// The shortest path tree used here is equal to the shortest path
    2.16 -    /// tree used in \ref predNode() and \predMap().
    2.17 +    /// tree used in \ref predNode() and \ref predMap().
    2.18      ///
    2.19      /// \pre Either \ref run() or \ref init() must be called before
    2.20      /// using this function.
    2.21 @@ -733,7 +733,7 @@
    2.22      /// is not reached from the root(s) or if \c v is a root.
    2.23      ///
    2.24      /// The shortest path tree used here is equal to the shortest path
    2.25 -    /// tree used in \ref predArc() and \predMap().
    2.26 +    /// tree used in \ref predArc() and \ref predMap().
    2.27      ///
    2.28      /// \pre Either \ref run() or \ref init() must be called before
    2.29      /// using this function.
     3.1 --- a/lemon/bfs.h	Sun Nov 15 19:57:02 2009 +0100
     3.2 +++ b/lemon/bfs.h	Wed Nov 18 14:38:02 2009 +0100
     3.3 @@ -63,7 +63,7 @@
     3.4  
     3.5      ///The type of the map that indicates which nodes are processed.
     3.6      ///It must conform to the \ref concepts::WriteMap "WriteMap" concept.
     3.7 -    ///By default it is a NullMap.
     3.8 +    ///By default, it is a NullMap.
     3.9      typedef NullMap<typename Digraph::Node,bool> ProcessedMap;
    3.10      ///Instantiates a \c ProcessedMap.
    3.11  
    3.12 @@ -848,7 +848,7 @@
    3.13  
    3.14      ///The type of the map that indicates which nodes are processed.
    3.15      ///It must conform to the \ref concepts::WriteMap "WriteMap" concept.
    3.16 -    ///By default it is a NullMap.
    3.17 +    ///By default, it is a NullMap.
    3.18      typedef NullMap<typename Digraph::Node,bool> ProcessedMap;
    3.19      ///Instantiates a ProcessedMap.
    3.20  
     4.1 --- a/lemon/circulation.h	Sun Nov 15 19:57:02 2009 +0100
     4.2 +++ b/lemon/circulation.h	Wed Nov 18 14:38:02 2009 +0100
     4.3 @@ -306,7 +306,7 @@
     4.4      /// The Elevator should have standard constructor interface to be
     4.5      /// able to automatically created by the algorithm (i.e. the
     4.6      /// digraph and the maximum level should be passed to it).
     4.7 -    /// However an external elevator object could also be passed to the
     4.8 +    /// However, an external elevator object could also be passed to the
     4.9      /// algorithm with the \ref elevator(Elevator&) "elevator()" function
    4.10      /// before calling \ref run() or \ref init().
    4.11      /// \sa SetElevator
     5.1 --- a/lemon/concepts/digraph.h	Sun Nov 15 19:57:02 2009 +0100
     5.2 +++ b/lemon/concepts/digraph.h	Wed Nov 18 14:38:02 2009 +0100
     5.3 @@ -107,7 +107,7 @@
     5.4        /// Iterator class for the nodes.
     5.5  
     5.6        /// This iterator goes through each node of the digraph.
     5.7 -      /// Its usage is quite simple, for example you can count the number
     5.8 +      /// Its usage is quite simple, for example, you can count the number
     5.9        /// of nodes in a digraph \c g of type \c %Digraph like this:
    5.10        ///\code
    5.11        /// int count=0;
    5.12 @@ -196,7 +196,7 @@
    5.13  
    5.14        /// This iterator goes trough the \e outgoing arcs of a certain node
    5.15        /// of a digraph.
    5.16 -      /// Its usage is quite simple, for example you can count the number
    5.17 +      /// Its usage is quite simple, for example, you can count the number
    5.18        /// of outgoing arcs of a node \c n
    5.19        /// in a digraph \c g of type \c %Digraph as follows.
    5.20        ///\code
    5.21 @@ -241,7 +241,7 @@
    5.22  
    5.23        /// This iterator goes trough the \e incoming arcs of a certain node
    5.24        /// of a digraph.
    5.25 -      /// Its usage is quite simple, for example you can count the number
    5.26 +      /// Its usage is quite simple, for example, you can count the number
    5.27        /// of incoming arcs of a node \c n
    5.28        /// in a digraph \c g of type \c %Digraph as follows.
    5.29        ///\code
    5.30 @@ -285,7 +285,7 @@
    5.31        /// Iterator class for the arcs.
    5.32  
    5.33        /// This iterator goes through each arc of the digraph.
    5.34 -      /// Its usage is quite simple, for example you can count the number
    5.35 +      /// Its usage is quite simple, for example, you can count the number
    5.36        /// of arcs in a digraph \c g of type \c %Digraph as follows:
    5.37        ///\code
    5.38        /// int count=0;
     6.1 --- a/lemon/concepts/graph.h	Sun Nov 15 19:57:02 2009 +0100
     6.2 +++ b/lemon/concepts/graph.h	Wed Nov 18 14:38:02 2009 +0100
     6.3 @@ -140,7 +140,7 @@
     6.4        /// Iterator class for the nodes.
     6.5  
     6.6        /// This iterator goes through each node of the graph.
     6.7 -      /// Its usage is quite simple, for example you can count the number
     6.8 +      /// Its usage is quite simple, for example, you can count the number
     6.9        /// of nodes in a graph \c g of type \c %Graph like this:
    6.10        ///\code
    6.11        /// int count=0;
    6.12 @@ -228,7 +228,7 @@
    6.13        /// Iterator class for the edges.
    6.14  
    6.15        /// This iterator goes through each edge of the graph.
    6.16 -      /// Its usage is quite simple, for example you can count the number
    6.17 +      /// Its usage is quite simple, for example, you can count the number
    6.18        /// of edges in a graph \c g of type \c %Graph as follows:
    6.19        ///\code
    6.20        /// int count=0;
    6.21 @@ -272,7 +272,7 @@
    6.22  
    6.23        /// This iterator goes trough the incident undirected edges
    6.24        /// of a certain node of a graph.
    6.25 -      /// Its usage is quite simple, for example you can compute the
    6.26 +      /// Its usage is quite simple, for example, you can compute the
    6.27        /// degree (i.e. the number of incident edges) of a node \c n
    6.28        /// in a graph \c g of type \c %Graph as follows.
    6.29        ///
    6.30 @@ -369,7 +369,7 @@
    6.31        /// Iterator class for the arcs.
    6.32  
    6.33        /// This iterator goes through each directed arc of the graph.
    6.34 -      /// Its usage is quite simple, for example you can count the number
    6.35 +      /// Its usage is quite simple, for example, you can count the number
    6.36        /// of arcs in a graph \c g of type \c %Graph as follows:
    6.37        ///\code
    6.38        /// int count=0;
    6.39 @@ -413,7 +413,7 @@
    6.40  
    6.41        /// This iterator goes trough the \e outgoing directed arcs of a
    6.42        /// certain node of a graph.
    6.43 -      /// Its usage is quite simple, for example you can count the number
    6.44 +      /// Its usage is quite simple, for example, you can count the number
    6.45        /// of outgoing arcs of a node \c n
    6.46        /// in a graph \c g of type \c %Graph as follows.
    6.47        ///\code
    6.48 @@ -461,7 +461,7 @@
    6.49  
    6.50        /// This iterator goes trough the \e incoming directed arcs of a
    6.51        /// certain node of a graph.
    6.52 -      /// Its usage is quite simple, for example you can count the number
    6.53 +      /// Its usage is quite simple, for example, you can count the number
    6.54        /// of incoming arcs of a node \c n
    6.55        /// in a graph \c g of type \c %Graph as follows.
    6.56        ///\code
    6.57 @@ -587,7 +587,7 @@
    6.58        ///
    6.59        /// Returns the first node of the given edge.
    6.60        ///
    6.61 -      /// Edges don't have source and target nodes, however methods
    6.62 +      /// Edges don't have source and target nodes, however, methods
    6.63        /// u() and v() are used to query the two end-nodes of an edge.
    6.64        /// The orientation of an edge that arises this way is called
    6.65        /// the inherent direction, it is used to define the default
    6.66 @@ -600,7 +600,7 @@
    6.67        ///
    6.68        /// Returns the second node of the given edge.
    6.69        ///
    6.70 -      /// Edges don't have source and target nodes, however methods
    6.71 +      /// Edges don't have source and target nodes, however, methods
    6.72        /// u() and v() are used to query the two end-nodes of an edge.
    6.73        /// The orientation of an edge that arises this way is called
    6.74        /// the inherent direction, it is used to define the default
     7.1 --- a/lemon/concepts/graph_components.h	Sun Nov 15 19:57:02 2009 +0100
     7.2 +++ b/lemon/concepts/graph_components.h	Wed Nov 18 14:38:02 2009 +0100
     7.3 @@ -18,7 +18,7 @@
     7.4  
     7.5  ///\ingroup graph_concepts
     7.6  ///\file
     7.7 -///\brief The concept of graph components.
     7.8 +///\brief The concepts of graph components.
     7.9  
    7.10  #ifndef LEMON_CONCEPTS_GRAPH_COMPONENTS_H
    7.11  #define LEMON_CONCEPTS_GRAPH_COMPONENTS_H
     8.1 --- a/lemon/concepts/path.h	Sun Nov 15 19:57:02 2009 +0100
     8.2 +++ b/lemon/concepts/path.h	Wed Nov 18 14:38:02 2009 +0100
     8.3 @@ -18,7 +18,7 @@
     8.4  
     8.5  ///\ingroup concept
     8.6  ///\file
     8.7 -///\brief Classes for representing paths in digraphs.
     8.8 +///\brief The concept of paths
     8.9  ///
    8.10  
    8.11  #ifndef LEMON_CONCEPTS_PATH_H
    8.12 @@ -38,13 +38,22 @@
    8.13      ///
    8.14      /// A skeleton structure for representing directed paths in a
    8.15      /// digraph.
    8.16 +    /// In a sense, a path can be treated as a list of arcs.
    8.17 +    /// LEMON path types just store this list. As a consequence, they cannot
    8.18 +    /// enumerate the nodes on the path directly and a zero length path
    8.19 +    /// cannot store its source node.
    8.20 +    ///
    8.21 +    /// The arcs of a path should be stored in the order of their directions,
    8.22 +    /// i.e. the target node of each arc should be the same as the source
    8.23 +    /// node of the next arc. This consistency could be checked using
    8.24 +    /// \ref checkPath().
    8.25 +    /// The source and target nodes of a (consistent) path can be obtained
    8.26 +    /// using \ref pathSource() and \ref pathTarget().
    8.27 +    ///
    8.28 +    /// A path can be constructed from another path of any type using the
    8.29 +    /// copy constructor or the assignment operator.
    8.30 +    ///
    8.31      /// \tparam GR The digraph type in which the path is.
    8.32 -    ///
    8.33 -    /// In a sense, the path can be treated as a list of arcs. The
    8.34 -    /// lemon path type stores just this list. As a consequence it
    8.35 -    /// cannot enumerate the nodes in the path and the zero length
    8.36 -    /// paths cannot store the source.
    8.37 -    ///
    8.38      template <typename GR>
    8.39      class Path {
    8.40      public:
    8.41 @@ -59,18 +68,18 @@
    8.42        /// \brief Default constructor
    8.43        Path() {}
    8.44  
    8.45 -      /// \brief Template constructor
    8.46 +      /// \brief Template copy constructor
    8.47        template <typename CPath>
    8.48        Path(const CPath& cpath) {}
    8.49  
    8.50 -      /// \brief Template assigment
    8.51 +      /// \brief Template assigment operator
    8.52        template <typename CPath>
    8.53        Path& operator=(const CPath& cpath) {
    8.54          ignore_unused_variable_warning(cpath);
    8.55          return *this;
    8.56        }
    8.57  
    8.58 -      /// Length of the path ie. the number of arcs in the path.
    8.59 +      /// Length of the path, i.e. the number of arcs on the path.
    8.60        int length() const { return 0;}
    8.61  
    8.62        /// Returns whether the path is empty.
    8.63 @@ -79,19 +88,19 @@
    8.64        /// Resets the path to an empty path.
    8.65        void clear() {}
    8.66  
    8.67 -      /// \brief LEMON style iterator for path arcs
    8.68 +      /// \brief LEMON style iterator for enumerating the arcs of a path.
    8.69        ///
    8.70 -      /// This class is used to iterate on the arcs of the paths.
    8.71 +      /// LEMON style iterator class for enumerating the arcs of a path.
    8.72        class ArcIt {
    8.73        public:
    8.74          /// Default constructor
    8.75          ArcIt() {}
    8.76          /// Invalid constructor
    8.77          ArcIt(Invalid) {}
    8.78 -        /// Constructor for first arc
    8.79 +        /// Sets the iterator to the first arc of the given path
    8.80          ArcIt(const Path &) {}
    8.81  
    8.82 -        /// Conversion to Arc
    8.83 +        /// Conversion to \c Arc
    8.84          operator Arc() const { return INVALID; }
    8.85  
    8.86          /// Next arc
    8.87 @@ -192,24 +201,18 @@
    8.88      /// \brief A skeleton structure for path dumpers.
    8.89      ///
    8.90      /// A skeleton structure for path dumpers. The path dumpers are
    8.91 -    /// the generalization of the paths. The path dumpers can
    8.92 -    /// enumerate the arcs of the path wheter in forward or in
    8.93 -    /// backward order.  In most time these classes are not used
    8.94 -    /// directly rather it used to assign a dumped class to a real
    8.95 -    /// path type.
    8.96 +    /// the generalization of the paths, they can enumerate the arcs
    8.97 +    /// of the path either in forward or in backward order.
    8.98 +    /// These classes are typically not used directly, they are rather
    8.99 +    /// used to be assigned to a real path type.
   8.100      ///
   8.101      /// The main purpose of this concept is that the shortest path
   8.102 -    /// algorithms can enumerate easily the arcs in reverse order.
   8.103 -    /// If we would like to give back a real path from these
   8.104 -    /// algorithms then we should create a temporarly path object. In
   8.105 -    /// LEMON such algorithms gives back a path dumper what can
   8.106 -    /// assigned to a real path and the dumpers can be implemented as
   8.107 +    /// algorithms can enumerate the arcs easily in reverse order.
   8.108 +    /// In LEMON, such algorithms give back a (reverse) path dumper that
   8.109 +    /// can be assigned to a real path. The dumpers can be implemented as
   8.110      /// an adaptor class to the predecessor map.
   8.111      ///
   8.112      /// \tparam GR The digraph type in which the path is.
   8.113 -    ///
   8.114 -    /// The paths can be constructed from any path type by a
   8.115 -    /// template constructor or a template assignment operator.
   8.116      template <typename GR>
   8.117      class PathDumper {
   8.118      public:
   8.119 @@ -219,7 +222,7 @@
   8.120        /// Arc type of the underlying digraph.
   8.121        typedef typename Digraph::Arc Arc;
   8.122  
   8.123 -      /// Length of the path ie. the number of arcs in the path.
   8.124 +      /// Length of the path, i.e. the number of arcs on the path.
   8.125        int length() const { return 0;}
   8.126  
   8.127        /// Returns whether the path is empty.
   8.128 @@ -227,25 +230,24 @@
   8.129  
   8.130        /// \brief Forward or reverse dumping
   8.131        ///
   8.132 -      /// If the RevPathTag is defined and true then reverse dumping
   8.133 -      /// is provided in the path dumper. In this case instead of the
   8.134 -      /// ArcIt the RevArcIt iterator should be implemented in the
   8.135 -      /// dumper.
   8.136 +      /// If this tag is defined to be \c True, then reverse dumping
   8.137 +      /// is provided in the path dumper. In this case, \c RevArcIt
   8.138 +      /// iterator should be implemented instead of \c ArcIt iterator.
   8.139        typedef False RevPathTag;
   8.140  
   8.141 -      /// \brief LEMON style iterator for path arcs
   8.142 +      /// \brief LEMON style iterator for enumerating the arcs of a path.
   8.143        ///
   8.144 -      /// This class is used to iterate on the arcs of the paths.
   8.145 +      /// LEMON style iterator class for enumerating the arcs of a path.
   8.146        class ArcIt {
   8.147        public:
   8.148          /// Default constructor
   8.149          ArcIt() {}
   8.150          /// Invalid constructor
   8.151          ArcIt(Invalid) {}
   8.152 -        /// Constructor for first arc
   8.153 +        /// Sets the iterator to the first arc of the given path
   8.154          ArcIt(const PathDumper&) {}
   8.155  
   8.156 -        /// Conversion to Arc
   8.157 +        /// Conversion to \c Arc
   8.158          operator Arc() const { return INVALID; }
   8.159  
   8.160          /// Next arc
   8.161 @@ -260,20 +262,21 @@
   8.162  
   8.163        };
   8.164  
   8.165 -      /// \brief LEMON style iterator for path arcs
   8.166 +      /// \brief LEMON style iterator for enumerating the arcs of a path
   8.167 +      /// in reverse direction.
   8.168        ///
   8.169 -      /// This class is used to iterate on the arcs of the paths in
   8.170 -      /// reverse direction.
   8.171 +      /// LEMON style iterator class for enumerating the arcs of a path
   8.172 +      /// in reverse direction.
   8.173        class RevArcIt {
   8.174        public:
   8.175          /// Default constructor
   8.176          RevArcIt() {}
   8.177          /// Invalid constructor
   8.178          RevArcIt(Invalid) {}
   8.179 -        /// Constructor for first arc
   8.180 +        /// Sets the iterator to the last arc of the given path
   8.181          RevArcIt(const PathDumper &) {}
   8.182  
   8.183 -        /// Conversion to Arc
   8.184 +        /// Conversion to \c Arc
   8.185          operator Arc() const { return INVALID; }
   8.186  
   8.187          /// Next arc
     9.1 --- a/lemon/counter.h	Sun Nov 15 19:57:02 2009 +0100
     9.2 +++ b/lemon/counter.h	Wed Nov 18 14:38:02 2009 +0100
     9.3 @@ -212,7 +212,7 @@
     9.4  
     9.5    /// 'Do nothing' version of Counter.
     9.6  
     9.7 -  /// This class can be used in the same way as \ref Counter however it
     9.8 +  /// This class can be used in the same way as \ref Counter, but it
     9.9    /// does not count at all and does not print report on destruction.
    9.10    ///
    9.11    /// Replacing a \ref Counter with a \ref NoCounter makes it possible
    10.1 --- a/lemon/dfs.h	Sun Nov 15 19:57:02 2009 +0100
    10.2 +++ b/lemon/dfs.h	Wed Nov 18 14:38:02 2009 +0100
    10.3 @@ -63,7 +63,7 @@
    10.4  
    10.5      ///The type of the map that indicates which nodes are processed.
    10.6      ///It must conform to the \ref concepts::WriteMap "WriteMap" concept.
    10.7 -    ///By default it is a NullMap.
    10.8 +    ///By default, it is a NullMap.
    10.9      typedef NullMap<typename Digraph::Node,bool> ProcessedMap;
   10.10      ///Instantiates a \c ProcessedMap.
   10.11  
   10.12 @@ -778,7 +778,7 @@
   10.13  
   10.14      ///The type of the map that indicates which nodes are processed.
   10.15      ///It must conform to the \ref concepts::WriteMap "WriteMap" concept.
   10.16 -    ///By default it is a NullMap.
   10.17 +    ///By default, it is a NullMap.
   10.18      typedef NullMap<typename Digraph::Node,bool> ProcessedMap;
   10.19      ///Instantiates a ProcessedMap.
   10.20  
    11.1 --- a/lemon/dijkstra.h	Sun Nov 15 19:57:02 2009 +0100
    11.2 +++ b/lemon/dijkstra.h	Wed Nov 18 14:38:02 2009 +0100
    11.3 @@ -132,7 +132,7 @@
    11.4  
    11.5      ///The type of the map that indicates which nodes are processed.
    11.6      ///It must conform to the \ref concepts::WriteMap "WriteMap" concept.
    11.7 -    ///By default it is a NullMap.
    11.8 +    ///By default, it is a NullMap.
    11.9      typedef NullMap<typename Digraph::Node,bool> ProcessedMap;
   11.10      ///Instantiates a \c ProcessedMap.
   11.11  
   11.12 @@ -426,7 +426,7 @@
   11.13      ///automatically created by the algorithm (i.e. the digraph should be
   11.14      ///passed to the constructor of the cross reference and the cross
   11.15      ///reference should be passed to the constructor of the heap).
   11.16 -    ///However external heap and cross reference objects could also be
   11.17 +    ///However, external heap and cross reference objects could also be
   11.18      ///passed to the algorithm using the \ref heap() function before
   11.19      ///calling \ref run(Node) "run()" or \ref init().
   11.20      ///\sa SetHeap
   11.21 @@ -447,7 +447,7 @@
   11.22      ///
   11.23      ///\ref named-templ-param "Named parameter" for setting
   11.24      ///\c OperationTraits type.
   11.25 -    /// For more information see \ref DijkstraDefaultOperationTraits.
   11.26 +    /// For more information, see \ref DijkstraDefaultOperationTraits.
   11.27      template <class T>
   11.28      struct SetOperationTraits
   11.29        : public Dijkstra<Digraph, LengthMap, SetOperationTraitsTraits<T> > {
   11.30 @@ -996,7 +996,7 @@
   11.31  
   11.32      ///The type of the map that indicates which nodes are processed.
   11.33      ///It must conform to the \ref concepts::WriteMap "WriteMap" concept.
   11.34 -    ///By default it is a NullMap.
   11.35 +    ///By default, it is a NullMap.
   11.36      typedef NullMap<typename Digraph::Node,bool> ProcessedMap;
   11.37      ///Instantiates a ProcessedMap.
   11.38  
    12.1 --- a/lemon/gomory_hu.h	Sun Nov 15 19:57:02 2009 +0100
    12.2 +++ b/lemon/gomory_hu.h	Wed Nov 18 14:38:02 2009 +0100
    12.3 @@ -294,11 +294,9 @@
    12.4      ///
    12.5      /// \pre \ref run() must be called before using this function.
    12.6      template <typename CutMap>
    12.7 -    Value minCutMap(const Node& s, ///< 
    12.8 +    Value minCutMap(const Node& s,
    12.9                      const Node& t,
   12.10 -                    ///< 
   12.11                      CutMap& cutMap
   12.12 -                    ///< 
   12.13                      ) const {
   12.14        Node sn = s, tn = t;
   12.15        bool s_root=false;
   12.16 @@ -394,7 +392,7 @@
   12.17                     /// MinCutNodeIt(gomory, t, s, false);
   12.18                     /// \endcode
   12.19                     /// does not necessarily give the same set of nodes.
   12.20 -                   /// However it is ensured that
   12.21 +                   /// However, it is ensured that
   12.22                     /// \code
   12.23                     /// MinCutNodeIt(gomory, s, t, true);
   12.24                     /// \endcode
    13.1 --- a/lemon/graph_to_eps.h	Sun Nov 15 19:57:02 2009 +0100
    13.2 +++ b/lemon/graph_to_eps.h	Wed Nov 18 14:38:02 2009 +0100
    13.3 @@ -142,7 +142,7 @@
    13.4    ///Constructor
    13.5    ///\param gr  Reference to the graph to be printed.
    13.6    ///\param ost Reference to the output stream.
    13.7 -  ///By default it is <tt>std::cout</tt>.
    13.8 +  ///By default, it is <tt>std::cout</tt>.
    13.9    ///\param pros If it is \c true, then the \c ostream referenced by \c os
   13.10    ///will be explicitly deallocated by the destructor.
   13.11    DefaultGraphToEpsTraits(const GR &gr, std::ostream& ost = std::cout,
   13.12 @@ -512,7 +512,7 @@
   13.13  
   13.14    ///Turn on/off pre-scaling
   13.15  
   13.16 -  ///By default graphToEps() rescales the whole image in order to avoid
   13.17 +  ///By default, graphToEps() rescales the whole image in order to avoid
   13.18    ///very big or very small bounding boxes.
   13.19    ///
   13.20    ///This (p)rescaling can be turned off with this function.
   13.21 @@ -1114,7 +1114,7 @@
   13.22  ///Generates an EPS file from a graph.
   13.23  ///\param g Reference to the graph to be printed.
   13.24  ///\param os Reference to the output stream.
   13.25 -///By default it is <tt>std::cout</tt>.
   13.26 +///By default, it is <tt>std::cout</tt>.
   13.27  ///
   13.28  ///This function also has a lot of
   13.29  ///\ref named-templ-func-param "named parameters",
   13.30 @@ -1126,7 +1126,7 @@
   13.31  ///              .arcWidthScale(.4).run();
   13.32  ///\endcode
   13.33  ///
   13.34 -///For more detailed examples see the \ref graph_to_eps_demo.cc demo file.
   13.35 +///For more detailed examples, see the \ref graph_to_eps_demo.cc demo file.
   13.36  ///
   13.37  ///\warning Don't forget to put the \ref GraphToEps::run() "run()"
   13.38  ///to the end of the parameter list.
    14.1 --- a/lemon/hypercube_graph.h	Sun Nov 15 19:57:02 2009 +0100
    14.2 +++ b/lemon/hypercube_graph.h	Wed Nov 18 14:38:02 2009 +0100
    14.3 @@ -287,7 +287,7 @@
    14.4    /// Two nodes are connected in the graph if and only if their indices
    14.5    /// differ only on one position in the binary form.
    14.6    /// This class is completely static and it needs constant memory space.
    14.7 -  /// Thus you can neither add nor delete nodes or edges, however 
    14.8 +  /// Thus you can neither add nor delete nodes or edges, however,
    14.9    /// the structure can be resized using resize().
   14.10    ///
   14.11    /// This type fully conforms to the \ref concepts::Graph "Graph concept".
    15.1 --- a/lemon/lgf_reader.h	Sun Nov 15 19:57:02 2009 +0100
    15.2 +++ b/lemon/lgf_reader.h	Wed Nov 18 14:38:02 2009 +0100
    15.3 @@ -427,7 +427,7 @@
    15.4    ///   run();
    15.5    ///\endcode
    15.6    ///
    15.7 -  /// By default the reader uses the first section in the file of the
    15.8 +  /// By default, the reader uses the first section in the file of the
    15.9    /// proper type. If a section has an optional name, then it can be
   15.10    /// selected for reading by giving an optional name parameter to the
   15.11    /// \c nodes(), \c arcs() or \c attributes() functions.
   15.12 @@ -2221,7 +2221,7 @@
   15.13      /// and the comment lines are filtered out, and the leading
   15.14      /// whitespaces are trimmed from each processed string.
   15.15      ///
   15.16 -    /// For example let's see a section, which contain several
   15.17 +    /// For example, let's see a section, which contain several
   15.18      /// integers, which should be inserted into a vector.
   15.19      ///\code
   15.20      ///  @numbers
    16.1 --- a/lemon/list_graph.h	Sun Nov 15 19:57:02 2009 +0100
    16.2 +++ b/lemon/list_graph.h	Wed Nov 18 14:38:02 2009 +0100
    16.3 @@ -400,7 +400,7 @@
    16.4      /// This function changes the target node of the given arc \c a to \c n.
    16.5      ///
    16.6      ///\note \c ArcIt and \c OutArcIt iterators referencing the changed
    16.7 -    ///arc remain valid, however \c InArcIt iterators are invalidated.
    16.8 +    ///arc remain valid, but \c InArcIt iterators are invalidated.
    16.9      ///
   16.10      ///\warning This functionality cannot be used together with the Snapshot
   16.11      ///feature.
   16.12 @@ -412,7 +412,7 @@
   16.13      /// This function changes the source node of the given arc \c a to \c n.
   16.14      ///
   16.15      ///\note \c InArcIt iterators referencing the changed arc remain
   16.16 -    ///valid, however \c ArcIt and \c OutArcIt iterators are invalidated.
   16.17 +    ///valid, but \c ArcIt and \c OutArcIt iterators are invalidated.
   16.18      ///
   16.19      ///\warning This functionality cannot be used together with the Snapshot
   16.20      ///feature.
   16.21 @@ -559,7 +559,7 @@
   16.22      /// \warning Node and arc deletions and other modifications (e.g.
   16.23      /// reversing, contracting, splitting arcs or nodes) cannot be
   16.24      /// restored. These events invalidate the snapshot.
   16.25 -    /// However the arcs and nodes that were added to the digraph after
   16.26 +    /// However, the arcs and nodes that were added to the digraph after
   16.27      /// making the current snapshot can be removed without invalidating it.
   16.28      class Snapshot {
   16.29      protected:
   16.30 @@ -1286,7 +1286,7 @@
   16.31      /// This function changes the second node of the given edge \c e to \c n.
   16.32      ///
   16.33      ///\note \c EdgeIt iterators referencing the changed edge remain
   16.34 -    ///valid, however \c ArcIt iterators referencing the changed edge and
   16.35 +    ///valid, but \c ArcIt iterators referencing the changed edge and
   16.36      ///all other iterators whose base node is the changed node are also
   16.37      ///invalidated.
   16.38      ///
   16.39 @@ -1371,7 +1371,7 @@
   16.40      /// \warning Node and edge deletions and other modifications
   16.41      /// (e.g. changing the end-nodes of edges or contracting nodes)
   16.42      /// cannot be restored. These events invalidate the snapshot.
   16.43 -    /// However the edges and nodes that were added to the graph after
   16.44 +    /// However, the edges and nodes that were added to the graph after
   16.45      /// making the current snapshot can be removed without invalidating it.
   16.46      class Snapshot {
   16.47      protected:
    17.1 --- a/lemon/lp_base.h	Sun Nov 15 19:57:02 2009 +0100
    17.2 +++ b/lemon/lp_base.h	Wed Nov 18 14:38:02 2009 +0100
    17.3 @@ -146,7 +146,7 @@
    17.4  
    17.5      ///Iterator for iterate over the columns of an LP problem
    17.6  
    17.7 -    /// Its usage is quite simple, for example you can count the number
    17.8 +    /// Its usage is quite simple, for example, you can count the number
    17.9      /// of columns in an LP \c lp:
   17.10      ///\code
   17.11      /// int count=0;
   17.12 @@ -241,7 +241,7 @@
   17.13  
   17.14      ///Iterator for iterate over the rows of an LP problem
   17.15  
   17.16 -    /// Its usage is quite simple, for example you can count the number
   17.17 +    /// Its usage is quite simple, for example, you can count the number
   17.18      /// of rows in an LP \c lp:
   17.19      ///\code
   17.20      /// int count=0;
    18.1 --- a/lemon/maps.h	Sun Nov 15 19:57:02 2009 +0100
    18.2 +++ b/lemon/maps.h	Wed Nov 18 14:38:02 2009 +0100
    18.3 @@ -230,10 +230,10 @@
    18.4    ///
    18.5    /// This map is essentially a wrapper for \c std::vector. It assigns
    18.6    /// values to integer keys from the range <tt>[0..size-1]</tt>.
    18.7 -  /// It can be used with some data structures, for example
    18.8 -  /// \c UnionFind, \c BinHeap, when the used items are small
    18.9 +  /// It can be used together with some data structures, e.g.
   18.10 +  /// heap types and \c UnionFind, when the used items are small
   18.11    /// integers. This map conforms to the \ref concepts::ReferenceMap
   18.12 -  /// "ReferenceMap" concept.
   18.13 +  /// "ReferenceMap" concept. 
   18.14    ///
   18.15    /// The simplest way of using this map is through the rangeMap()
   18.16    /// function.
   18.17 @@ -348,9 +348,9 @@
   18.18    /// keys (i.e. the map is "sparse").
   18.19    /// The name of this type also refers to this important usage.
   18.20    ///
   18.21 -  /// Apart form that this map can be used in many other cases since it
   18.22 +  /// Apart form that, this map can be used in many other cases since it
   18.23    /// is based on \c std::map, which is a general associative container.
   18.24 -  /// However keep in mind that it is usually not as efficient as other
   18.25 +  /// However, keep in mind that it is usually not as efficient as other
   18.26    /// maps.
   18.27    ///
   18.28    /// The simplest way of using this map is through the sparseMap()
   18.29 @@ -1785,7 +1785,7 @@
   18.30    ///
   18.31    /// The most important usage of it is storing certain nodes or arcs
   18.32    /// that were marked \c true by an algorithm.
   18.33 -  /// For example it makes easier to store the nodes in the processing
   18.34 +  /// For example, it makes easier to store the nodes in the processing
   18.35    /// order of Dfs algorithm, as the following examples show.
   18.36    /// \code
   18.37    ///   std::vector<Node> v;
   18.38 @@ -1800,7 +1800,7 @@
   18.39    /// for the elements or the iterator should be an inserter iterator.
   18.40    ///
   18.41    /// \note LoggerBoolMap is just \ref concepts::WriteMap "writable", so
   18.42 -  /// it cannot be used when a readable map is needed, for example as
   18.43 +  /// it cannot be used when a readable map is needed, for example, as
   18.44    /// \c ReachedMap for \c Bfs, \c Dfs and \c Dijkstra algorithms.
   18.45    ///
   18.46    /// \relates LoggerBoolMap
   18.47 @@ -1922,7 +1922,7 @@
   18.48    /// items with the same value.
   18.49    /// Otherwise consider to use \c IterableValueMap, which is more 
   18.50    /// suitable and more efficient for such cases. It provides iterators
   18.51 -  /// to traverse the items with the same associated value, however
   18.52 +  /// to traverse the items with the same associated value, but
   18.53    /// it does not have \c InverseMap.
   18.54    ///
   18.55    /// This type is not reference map, so it cannot be modified with
   18.56 @@ -3466,7 +3466,7 @@
   18.57    /// \warning Besides \c addNode() and \c addArc(), a digraph structure
   18.58    /// may provide alternative ways to modify the digraph.
   18.59    /// The correct behavior of InDegMap is not guarantied if these additional
   18.60 -  /// features are used. For example the functions
   18.61 +  /// features are used. For example, the functions
   18.62    /// \ref ListDigraph::changeSource() "changeSource()",
   18.63    /// \ref ListDigraph::changeTarget() "changeTarget()" and
   18.64    /// \ref ListDigraph::reverseArc() "reverseArc()"
   18.65 @@ -3596,7 +3596,7 @@
   18.66    /// \warning Besides \c addNode() and \c addArc(), a digraph structure
   18.67    /// may provide alternative ways to modify the digraph.
   18.68    /// The correct behavior of OutDegMap is not guarantied if these additional
   18.69 -  /// features are used. For example the functions
   18.70 +  /// features are used. For example, the functions
   18.71    /// \ref ListDigraph::changeSource() "changeSource()",
   18.72    /// \ref ListDigraph::changeTarget() "changeTarget()" and
   18.73    /// \ref ListDigraph::reverseArc() "reverseArc()"
    19.1 --- a/lemon/network_simplex.h	Sun Nov 15 19:57:02 2009 +0100
    19.2 +++ b/lemon/network_simplex.h	Wed Nov 18 14:38:02 2009 +0100
    19.3 @@ -50,7 +50,7 @@
    19.4    /// In general this class is the fastest implementation available
    19.5    /// in LEMON for the minimum cost flow problem.
    19.6    /// Moreover it supports both directions of the supply/demand inequality
    19.7 -  /// constraints. For more information see \ref SupplyType.
    19.8 +  /// constraints. For more information, see \ref SupplyType.
    19.9    ///
   19.10    /// Most of the parameters of the problem (except for the digraph)
   19.11    /// can be given using separate functions, and the algorithm can be
   19.12 @@ -59,16 +59,16 @@
   19.13    ///
   19.14    /// \tparam GR The digraph type the algorithm runs on.
   19.15    /// \tparam V The value type used for flow amounts, capacity bounds
   19.16 -  /// and supply values in the algorithm. By default it is \c int.
   19.17 +  /// and supply values in the algorithm. By default, it is \c int.
   19.18    /// \tparam C The value type used for costs and potentials in the
   19.19 -  /// algorithm. By default it is the same as \c V.
   19.20 +  /// algorithm. By default, it is the same as \c V.
   19.21    ///
   19.22    /// \warning Both value types must be signed and all input data must
   19.23    /// be integer.
   19.24    ///
   19.25    /// \note %NetworkSimplex provides five different pivot rule
   19.26    /// implementations, from which the most efficient one is used
   19.27 -  /// by default. For more information see \ref PivotRule.
   19.28 +  /// by default. For more information, see \ref PivotRule.
   19.29    template <typename GR, typename V = int, typename C = V>
   19.30    class NetworkSimplex
   19.31    {
   19.32 @@ -124,35 +124,35 @@
   19.33      /// \ref NetworkSimplex provides five different pivot rule
   19.34      /// implementations that significantly affect the running time
   19.35      /// of the algorithm.
   19.36 -    /// By default \ref BLOCK_SEARCH "Block Search" is used, which
   19.37 +    /// By default, \ref BLOCK_SEARCH "Block Search" is used, which
   19.38      /// proved to be the most efficient and the most robust on various
   19.39      /// test inputs according to our benchmark tests.
   19.40 -    /// However another pivot rule can be selected using the \ref run()
   19.41 +    /// However, another pivot rule can be selected using the \ref run()
   19.42      /// function with the proper parameter.
   19.43      enum PivotRule {
   19.44  
   19.45 -      /// The First Eligible pivot rule.
   19.46 +      /// The \e First \e Eligible pivot rule.
   19.47        /// The next eligible arc is selected in a wraparound fashion
   19.48        /// in every iteration.
   19.49        FIRST_ELIGIBLE,
   19.50  
   19.51 -      /// The Best Eligible pivot rule.
   19.52 +      /// The \e Best \e Eligible pivot rule.
   19.53        /// The best eligible arc is selected in every iteration.
   19.54        BEST_ELIGIBLE,
   19.55  
   19.56 -      /// The Block Search pivot rule.
   19.57 +      /// The \e Block \e Search pivot rule.
   19.58        /// A specified number of arcs are examined in every iteration
   19.59        /// in a wraparound fashion and the best eligible arc is selected
   19.60        /// from this block.
   19.61        BLOCK_SEARCH,
   19.62  
   19.63 -      /// The Candidate List pivot rule.
   19.64 +      /// The \e Candidate \e List pivot rule.
   19.65        /// In a major iteration a candidate list is built from eligible arcs
   19.66        /// in a wraparound fashion and in the following minor iterations
   19.67        /// the best eligible arc is selected from this list.
   19.68        CANDIDATE_LIST,
   19.69  
   19.70 -      /// The Altering Candidate List pivot rule.
   19.71 +      /// The \e Altering \e Candidate \e List pivot rule.
   19.72        /// It is a modified version of the Candidate List method.
   19.73        /// It keeps only the several best eligible arcs from the former
   19.74        /// candidate list and extends this list in every iteration.
   19.75 @@ -812,7 +812,7 @@
   19.76      /// If it is not used before calling \ref run(), the \ref GEQ supply
   19.77      /// type will be used.
   19.78      ///
   19.79 -    /// For more information see \ref SupplyType.
   19.80 +    /// For more information, see \ref SupplyType.
   19.81      ///
   19.82      /// \return <tt>(*this)</tt>
   19.83      NetworkSimplex& supplyType(SupplyType supply_type) {
   19.84 @@ -844,11 +844,11 @@
   19.85      /// that have been given are kept for the next call, unless
   19.86      /// \ref reset() is called, thus only the modified parameters
   19.87      /// have to be set again. See \ref reset() for examples.
   19.88 -    /// However the underlying digraph must not be modified after this
   19.89 +    /// However, the underlying digraph must not be modified after this
   19.90      /// class have been constructed, since it copies and extends the graph.
   19.91      ///
   19.92      /// \param pivot_rule The pivot rule that will be used during the
   19.93 -    /// algorithm. For more information see \ref PivotRule.
   19.94 +    /// algorithm. For more information, see \ref PivotRule.
   19.95      ///
   19.96      /// \return \c INFEASIBLE if no feasible flow exists,
   19.97      /// \n \c OPTIMAL if the problem has optimal solution
   19.98 @@ -873,7 +873,7 @@
   19.99      /// It is useful for multiple run() calls. If this function is not
  19.100      /// used, all the parameters given before are kept for the next
  19.101      /// \ref run() call.
  19.102 -    /// However the underlying digraph must not be modified after this
  19.103 +    /// However, the underlying digraph must not be modified after this
  19.104      /// class have been constructed, since it copies and extends the graph.
  19.105      ///
  19.106      /// For example,
    20.1 --- a/lemon/preflow.h	Sun Nov 15 19:57:02 2009 +0100
    20.2 +++ b/lemon/preflow.h	Wed Nov 18 14:38:02 2009 +0100
    20.3 @@ -265,7 +265,7 @@
    20.4      /// The Elevator should have standard constructor interface to be
    20.5      /// able to automatically created by the algorithm (i.e. the
    20.6      /// digraph and the maximum level should be passed to it).
    20.7 -    /// However an external elevator object could also be passed to the
    20.8 +    /// However, an external elevator object could also be passed to the
    20.9      /// algorithm with the \ref elevator(Elevator&) "elevator()" function
   20.10      /// before calling \ref run() or \ref init().
   20.11      /// \sa SetElevator
    21.1 --- a/lemon/time_measure.h	Sun Nov 15 19:57:02 2009 +0100
    21.2 +++ b/lemon/time_measure.h	Wed Nov 18 14:38:02 2009 +0100
    21.3 @@ -375,7 +375,7 @@
    21.4  
    21.5      ///This function returns the number of stop() exections that is
    21.6      ///necessary to really stop the timer.
    21.7 -    ///For example the timer
    21.8 +    ///For example, the timer
    21.9      ///is running if and only if the return value is \c true
   21.10      ///(i.e. greater than
   21.11      ///zero).
    22.1 --- a/lemon/unionfind.h	Sun Nov 15 19:57:02 2009 +0100
    22.2 +++ b/lemon/unionfind.h	Wed Nov 18 14:38:02 2009 +0100
    22.3 @@ -43,7 +43,7 @@
    22.4    /// the find operation uses path compression.
    22.5    /// This is a very simple but efficient implementation, providing
    22.6    /// only four methods: join (union), find, insert and size.
    22.7 -  /// For more features see the \ref UnionFindEnum class.
    22.8 +  /// For more features, see the \ref UnionFindEnum class.
    22.9    ///
   22.10    /// It is primarily used in Kruskal algorithm for finding minimal
   22.11    /// cost spanning tree in a graph.