Merge
authorAlpar Juttner <alpar@cs.elte.hu>
Thu, 09 Oct 2008 13:54:50 +0100
changeset 315c175e387da19
parent 312 a4d499904482
parent 314 2cc60866a0c9
child 317 a0ab96ad65fe
Merge
     1.1 --- a/demo/graph_to_eps_demo.cc	Thu Oct 09 13:40:40 2008 +0100
     1.2 +++ b/demo/graph_to_eps_demo.cc	Thu Oct 09 13:54:50 2008 +0100
     1.3 @@ -26,7 +26,7 @@
     1.4  /// graphToEps(), and showing how to draw directed graphs,
     1.5  /// how to handle parallel egdes, how to change the properties (like
     1.6  /// color, shape, size, title etc.) of nodes and arcs individually
     1.7 -/// using appropriate \ref maps-page "graph maps".
     1.8 +/// using appropriate graph maps.
     1.9  ///
    1.10  /// \include graph_to_eps_demo.cc
    1.11  
     2.1 --- a/doc/groups.dox	Thu Oct 09 13:40:40 2008 +0100
     2.2 +++ b/doc/groups.dox	Thu Oct 09 13:54:50 2008 +0100
     2.3 @@ -54,7 +54,9 @@
     2.4  
     2.5  You are free to use the graph structure that fit your requirements
     2.6  the best, most graph algorithms and auxiliary data structures can be used
     2.7 -with any graph structures.
     2.8 +with any graph structure.
     2.9 +
    2.10 +<b>See also:</b> \ref graph_concepts "Graph Structure Concepts".
    2.11  */
    2.12  
    2.13  /**
    2.14 @@ -74,8 +76,10 @@
    2.15  
    2.16  This group describes the map structures implemented in LEMON.
    2.17  
    2.18 -LEMON provides several special purpose maps that e.g. combine
    2.19 +LEMON provides several special purpose maps and map adaptors that e.g. combine
    2.20  new maps from existing ones.
    2.21 +
    2.22 +<b>See also:</b> \ref map_concepts "Map Concepts".
    2.23  */
    2.24  
    2.25  /**
    2.26 @@ -87,7 +91,6 @@
    2.27  values to the nodes and arcs of graphs.
    2.28  */
    2.29  
    2.30 -
    2.31  /**
    2.32  \defgroup map_adaptors Map Adaptors
    2.33  \ingroup maps
    2.34 @@ -104,7 +107,7 @@
    2.35  The typical usage of this classes is passing implicit maps to
    2.36  algorithms.  If a function type algorithm is called then the function
    2.37  type map adaptors can be used comfortable. For example let's see the
    2.38 -usage of map adaptors with the \c digraphToEps() function.
    2.39 +usage of map adaptors with the \c graphToEps() function.
    2.40  \code
    2.41    Color nodeColor(int deg) {
    2.42      if (deg >= 2) {
    2.43 @@ -118,13 +121,13 @@
    2.44  
    2.45    Digraph::NodeMap<int> degree_map(graph);
    2.46  
    2.47 -  digraphToEps(graph, "graph.eps")
    2.48 +  graphToEps(graph, "graph.eps")
    2.49      .coords(coords).scaleToA4().undirected()
    2.50      .nodeColors(composeMap(functorToMap(nodeColor), degree_map))
    2.51      .run();
    2.52  \endcode
    2.53  The \c functorToMap() function makes an \c int to \c Color map from the
    2.54 -\e nodeColor() function. The \c composeMap() compose the \e degree_map
    2.55 +\c nodeColor() function. The \c composeMap() compose the \c degree_map
    2.56  and the previously created map. The composed map is a proper function to
    2.57  get the color of each node.
    2.58  
    2.59 @@ -173,7 +176,6 @@
    2.60  any kind of path structure.
    2.61  
    2.62  \sa lemon::concepts::Path
    2.63 -
    2.64  */
    2.65  
    2.66  /**
    2.67 @@ -185,7 +187,6 @@
    2.68  order to make it easier to implement combinatorial algorithms.
    2.69  */
    2.70  
    2.71 -
    2.72  /**
    2.73  @defgroup algs Algorithms
    2.74  \brief This group describes the several algorithms
    2.75 @@ -201,11 +202,11 @@
    2.76  \brief Common graph search algorithms.
    2.77  
    2.78  This group describes the common graph search algorithms like
    2.79 -Breadth-first search (Bfs) and Depth-first search (Dfs).
    2.80 +Breadth-First Search (BFS) and Depth-First Search (DFS).
    2.81  */
    2.82  
    2.83  /**
    2.84 -@defgroup shortest_path Shortest Path algorithms
    2.85 +@defgroup shortest_path Shortest Path Algorithms
    2.86  @ingroup algs
    2.87  \brief Algorithms for finding shortest paths.
    2.88  
    2.89 @@ -213,7 +214,7 @@
    2.90  */
    2.91  
    2.92  /**
    2.93 -@defgroup max_flow Maximum Flow algorithms
    2.94 +@defgroup max_flow Maximum Flow Algorithms
    2.95  @ingroup algs
    2.96  \brief Algorithms for finding maximum flows.
    2.97  
    2.98 @@ -241,11 +242,10 @@
    2.99  fastest method to compute the maximum flow. All impelementations
   2.100  provides functions to query the minimum cut, which is the dual linear
   2.101  programming problem of the maximum flow.
   2.102 -
   2.103  */
   2.104  
   2.105  /**
   2.106 -@defgroup min_cost_flow Minimum Cost Flow algorithms
   2.107 +@defgroup min_cost_flow Minimum Cost Flow Algorithms
   2.108  @ingroup algs
   2.109  
   2.110  \brief Algorithms for finding minimum cost flows and circulations.
   2.111 @@ -255,7 +255,7 @@
   2.112  */
   2.113  
   2.114  /**
   2.115 -@defgroup min_cut Minimum Cut algorithms
   2.116 +@defgroup min_cut Minimum Cut Algorithms
   2.117  @ingroup algs
   2.118  
   2.119  \brief Algorithms for finding minimum cut in graphs.
   2.120 @@ -282,11 +282,10 @@
   2.121  
   2.122  If you want to find minimum cut just between two distinict nodes,
   2.123  please see the \ref max_flow "Maximum Flow page".
   2.124 -
   2.125  */
   2.126  
   2.127  /**
   2.128 -@defgroup graph_prop Connectivity and other graph properties
   2.129 +@defgroup graph_prop Connectivity and Other Graph Properties
   2.130  @ingroup algs
   2.131  \brief Algorithms for discovering the graph properties
   2.132  
   2.133 @@ -298,7 +297,7 @@
   2.134  */
   2.135  
   2.136  /**
   2.137 -@defgroup planar Planarity embedding and drawing
   2.138 +@defgroup planar Planarity Embedding and Drawing
   2.139  @ingroup algs
   2.140  \brief Algorithms for planarity checking, embedding and drawing
   2.141  
   2.142 @@ -310,7 +309,7 @@
   2.143  */
   2.144  
   2.145  /**
   2.146 -@defgroup matching Matching algorithms
   2.147 +@defgroup matching Matching Algorithms
   2.148  @ingroup algs
   2.149  \brief Algorithms for finding matchings in graphs and bipartite graphs.
   2.150  
   2.151 @@ -348,11 +347,10 @@
   2.152  
   2.153  \image html bipartite_matching.png
   2.154  \image latex bipartite_matching.eps "Bipartite Matching" width=\textwidth
   2.155 -
   2.156  */
   2.157  
   2.158  /**
   2.159 -@defgroup spantree Minimum Spanning Tree algorithms
   2.160 +@defgroup spantree Minimum Spanning Tree Algorithms
   2.161  @ingroup algs
   2.162  \brief Algorithms for finding a minimum cost spanning tree in a graph.
   2.163  
   2.164 @@ -360,9 +358,8 @@
   2.165  tree in a graph
   2.166  */
   2.167  
   2.168 -
   2.169  /**
   2.170 -@defgroup auxalg Auxiliary algorithms
   2.171 +@defgroup auxalg Auxiliary Algorithms
   2.172  @ingroup algs
   2.173  \brief Auxiliary algorithms implemented in LEMON.
   2.174  
   2.175 @@ -371,7 +368,8 @@
   2.176  */
   2.177  
   2.178  /**
   2.179 -@defgroup approx Approximation algorithms
   2.180 +@defgroup approx Approximation Algorithms
   2.181 +@ingroup algs
   2.182  \brief Approximation algorithms.
   2.183  
   2.184  This group describes the approximation and heuristic algorithms
   2.185 @@ -385,22 +383,20 @@
   2.186  
   2.187  This group describes some general optimization frameworks
   2.188  implemented in LEMON.
   2.189 -
   2.190  */
   2.191  
   2.192  /**
   2.193 -@defgroup lp_group Lp and Mip solvers
   2.194 +@defgroup lp_group Lp and Mip Solvers
   2.195  @ingroup gen_opt_group
   2.196  \brief Lp and Mip solver interfaces for LEMON.
   2.197  
   2.198  This group describes Lp and Mip solver interfaces for LEMON. The
   2.199  various LP solvers could be used in the same manner with this
   2.200  interface.
   2.201 -
   2.202  */
   2.203  
   2.204  /**
   2.205 -@defgroup lp_utils Tools for Lp and Mip solvers
   2.206 +@defgroup lp_utils Tools for Lp and Mip Solvers
   2.207  @ingroup lp_group
   2.208  \brief Helper tools to the Lp and Mip solvers.
   2.209  
   2.210 @@ -441,7 +437,7 @@
   2.211  */
   2.212  
   2.213  /**
   2.214 -@defgroup timecount Time measuring and Counting
   2.215 +@defgroup timecount Time Measuring and Counting
   2.216  @ingroup misc
   2.217  \brief Simple tools for measuring the performance of algorithms.
   2.218  
   2.219 @@ -450,15 +446,6 @@
   2.220  */
   2.221  
   2.222  /**
   2.223 -@defgroup graphbits Tools for Graph Implementation
   2.224 -@ingroup utils
   2.225 -\brief Tools to make it easier to create graphs.
   2.226 -
   2.227 -This group describes the tools that makes it easier to create graphs and
   2.228 -the maps that dynamically update with the graph changes.
   2.229 -*/
   2.230 -
   2.231 -/**
   2.232  @defgroup exceptions Exceptions
   2.233  @ingroup utils
   2.234  \brief Exceptions defined in LEMON.
   2.235 @@ -471,21 +458,22 @@
   2.236  \brief Graph Input-Output methods
   2.237  
   2.238  This group describes the tools for importing and exporting graphs
   2.239 -and graph related data. Now it supports the LEMON format, the
   2.240 -\c DIMACS format and the encapsulated postscript (EPS) format.
   2.241 +and graph related data. Now it supports the \ref lgf-format
   2.242 +"LEMON Graph Format", the \c DIMACS format and the encapsulated
   2.243 +postscript (EPS) format.
   2.244  */
   2.245  
   2.246  /**
   2.247  @defgroup lemon_io LEMON Input-Output
   2.248  @ingroup io_group
   2.249 -\brief Reading and writing \ref lgf-format "LEMON Graph Format".
   2.250 +\brief Reading and writing LEMON Graph Format.
   2.251  
   2.252  This group describes methods for reading and writing
   2.253  \ref lgf-format "LEMON Graph Format".
   2.254  */
   2.255  
   2.256  /**
   2.257 -@defgroup eps_io Postscript exporting
   2.258 +@defgroup eps_io Postscript Exporting
   2.259  @ingroup io_group
   2.260  \brief General \c EPS drawer and graph exporter
   2.261  
   2.262 @@ -493,7 +481,6 @@
   2.263  graph exporting tools.
   2.264  */
   2.265  
   2.266 -
   2.267  /**
   2.268  @defgroup concept Concepts
   2.269  \brief Skeleton classes and concept checking classes
   2.270 @@ -521,10 +508,8 @@
   2.271    concept indeed provides all the required features.
   2.272  
   2.273  - Finally, They can serve as a skeleton of a new implementation of a concept.
   2.274 -
   2.275  */
   2.276  
   2.277 -
   2.278  /**
   2.279  @defgroup graph_concepts Graph Structure Concepts
   2.280  @ingroup concept
   2.281 @@ -534,10 +519,12 @@
   2.282  graph structures and helper classes used to implement these.
   2.283  */
   2.284  
   2.285 -/* --- Unused group
   2.286 -@defgroup experimental Experimental Structures and Algorithms
   2.287 -This group describes some Experimental structures and algorithms.
   2.288 -The stuff here is subject to change.
   2.289 +/**
   2.290 +@defgroup map_concepts Map Concepts
   2.291 +@ingroup concept
   2.292 +\brief Skeleton and concept checking classes for maps
   2.293 +
   2.294 +This group describes the skeletons and concept checking classes of maps.
   2.295  */
   2.296  
   2.297  /**
     3.1 --- a/doc/lgf.dox	Thu Oct 09 13:40:40 2008 +0100
     3.2 +++ b/doc/lgf.dox	Thu Oct 09 13:54:50 2008 +0100
     3.3 @@ -78,7 +78,7 @@
     3.4   2   3   18
     3.5  \endcode
     3.6  
     3.7 -The \c \@edges is just a synonym of \c \@arcs. The @arcs section can
     3.8 +The \c \@edges is just a synonym of \c \@arcs. The \@arcs section can
     3.9  also store the edge set of an undirected graph. In such case there is
    3.10  a conventional method for store arc maps in the file, if two columns
    3.11  has the same caption with \c '+' and \c '-' prefix, then these columns
     4.1 --- a/doc/mainpage.dox	Thu Oct 09 13:40:40 2008 +0100
     4.2 +++ b/doc/mainpage.dox	Thu Oct 09 13:54:50 2008 +0100
     4.3 @@ -50,11 +50,12 @@
     4.4  
     4.5  If you
     4.6  want to see how LEMON works, see
     4.7 -some \ref demoprograms "demo programs"!
     4.8 +some \ref demoprograms "demo programs".
     4.9  
    4.10  If you know what you are looking for then try to find it under the
    4.11  <a class="el" href="modules.html">Modules</a>
    4.12  section.
    4.13  
    4.14 -If you are a user of the old (0.x) series of LEMON, please check out the \ref migration "Migration Guide" for the backward incompatibilities.
    4.15 +If you are a user of the old (0.x) series of LEMON, please check out the
    4.16 +\ref migration "Migration Guide" for the backward incompatibilities.
    4.17  */
     5.1 --- a/doc/migration.dox	Thu Oct 09 13:40:40 2008 +0100
     5.2 +++ b/doc/migration.dox	Thu Oct 09 13:54:50 2008 +0100
     5.3 @@ -57,7 +57,7 @@
     5.4  the words \c graph, \c digraph, \c edge and \c arc, so it replaces them
     5.5  in strings, comments etc. as well as in all identifiers.</b>
     5.6  
     5.7 -\section migration-lgf LGF tools 
     5.8 +\section migration-lgf LGF tools
     5.9   - The \ref lgf-format "LGF file format" has changed,
    5.10     <tt>\@nodeset</tt> has changed to <tt>\@nodes</tt>,
    5.11     <tt>\@edgeset</tt> and <tt>\@uedgeset</tt> to <tt>\@arcs</tt> or
     6.1 --- a/lemon/bits/alteration_notifier.h	Thu Oct 09 13:40:40 2008 +0100
     6.2 +++ b/lemon/bits/alteration_notifier.h	Thu Oct 09 13:54:50 2008 +0100
     6.3 @@ -24,76 +24,75 @@
     6.4  
     6.5  #include <lemon/core.h>
     6.6  
     6.7 -///\ingroup graphbits
     6.8 -///\file
     6.9 -///\brief Observer notifier for graph alteration observers.
    6.10 +//\ingroup graphbits
    6.11 +//\file
    6.12 +//\brief Observer notifier for graph alteration observers.
    6.13  
    6.14  namespace lemon {
    6.15  
    6.16 -  /// \ingroup graphbits
    6.17 -  ///
    6.18 -  /// \brief Notifier class to notify observes about alterations in
    6.19 -  /// a container.
    6.20 -  ///
    6.21 -  /// The simple graph's can be refered as two containers, one node container
    6.22 -  /// and one edge container. But they are not standard containers they
    6.23 -  /// does not store values directly they are just key continars for more
    6.24 -  /// value containers which are the node and edge maps.
    6.25 -  ///
    6.26 -  /// The graph's node and edge sets can be changed as we add or erase
    6.27 -  /// nodes and edges in the graph. LEMON would like to handle easily
    6.28 -  /// that the node and edge maps should contain values for all nodes or
    6.29 -  /// edges. If we want to check on every indicing if the map contains
    6.30 -  /// the current indicing key that cause a drawback in the performance
    6.31 -  /// in the library. We use another solution we notify all maps about
    6.32 -  /// an alteration in the graph, which cause only drawback on the
    6.33 -  /// alteration of the graph.
    6.34 -  ///
    6.35 -  /// This class provides an interface to the container. The \e first() and \e
    6.36 -  /// next() member functions make possible to iterate on the keys of the
    6.37 -  /// container. The \e id() function returns an integer id for each key.
    6.38 -  /// The \e maxId() function gives back an upper bound of the ids.
    6.39 -  ///
    6.40 -  /// For the proper functonality of this class, we should notify it
    6.41 -  /// about each alteration in the container. The alterations have four type
    6.42 -  /// as \e add(), \e erase(), \e build() and \e clear(). The \e add() and
    6.43 -  /// \e erase() signals that only one or few items added or erased to or
    6.44 -  /// from the graph. If all items are erased from the graph or from an empty
    6.45 -  /// graph a new graph is builded then it can be signaled with the
    6.46 -  /// clear() and build() members. Important rule that if we erase items
    6.47 -  /// from graph we should first signal the alteration and after that erase
    6.48 -  /// them from the container, on the other way on item addition we should
    6.49 -  /// first extend the container and just after that signal the alteration.
    6.50 -  ///
    6.51 -  /// The alteration can be observed with a class inherited from the
    6.52 -  /// \e ObserverBase nested class. The signals can be handled with
    6.53 -  /// overriding the virtual functions defined in the base class.  The
    6.54 -  /// observer base can be attached to the notifier with the
    6.55 -  /// \e attach() member and can be detached with detach() function. The
    6.56 -  /// alteration handlers should not call any function which signals
    6.57 -  /// an other alteration in the same notifier and should not
    6.58 -  /// detach any observer from the notifier.
    6.59 -  ///
    6.60 -  /// Alteration observers try to be exception safe. If an \e add() or
    6.61 -  /// a \e clear() function throws an exception then the remaining
    6.62 -  /// observeres will not be notified and the fulfilled additions will
    6.63 -  /// be rolled back by calling the \e erase() or \e clear()
    6.64 -  /// functions. Thence the \e erase() and \e clear() should not throw
    6.65 -  /// exception. Actullay, it can be throw only
    6.66 -  /// \ref AlterationObserver::ImmediateDetach ImmediateDetach
    6.67 -  /// exception which detach the observer from the notifier.
    6.68 -  ///
    6.69 -  /// There are some place when the alteration observing is not completly
    6.70 -  /// reliable. If we want to carry out the node degree in the graph
    6.71 -  /// as in the \ref InDegMap and we use the reverseEdge that cause
    6.72 -  /// unreliable functionality. Because the alteration observing signals
    6.73 -  /// only erasing and adding but not the reversing it will stores bad
    6.74 -  /// degrees. The sub graph adaptors cannot signal the alterations because
    6.75 -  /// just a setting in the filter map can modify the graph and this cannot
    6.76 -  /// be watched in any way.
    6.77 -  ///
    6.78 -  /// \param _Container The container which is observed.
    6.79 -  /// \param _Item The item type which is obserbved.
    6.80 +  // \ingroup graphbits
    6.81 +  //
    6.82 +  // \brief Notifier class to notify observes about alterations in
    6.83 +  // a container.
    6.84 +  //
    6.85 +  // The simple graph's can be refered as two containers, one node container
    6.86 +  // and one edge container. But they are not standard containers they
    6.87 +  // does not store values directly they are just key continars for more
    6.88 +  // value containers which are the node and edge maps.
    6.89 +  //
    6.90 +  // The graph's node and edge sets can be changed as we add or erase
    6.91 +  // nodes and edges in the graph. LEMON would like to handle easily
    6.92 +  // that the node and edge maps should contain values for all nodes or
    6.93 +  // edges. If we want to check on every indicing if the map contains
    6.94 +  // the current indicing key that cause a drawback in the performance
    6.95 +  // in the library. We use another solution we notify all maps about
    6.96 +  // an alteration in the graph, which cause only drawback on the
    6.97 +  // alteration of the graph.
    6.98 +  //
    6.99 +  // This class provides an interface to the container. The \e first() and \e
   6.100 +  // next() member functions make possible to iterate on the keys of the
   6.101 +  // container. The \e id() function returns an integer id for each key.
   6.102 +  // The \e maxId() function gives back an upper bound of the ids.
   6.103 +  //
   6.104 +  // For the proper functonality of this class, we should notify it
   6.105 +  // about each alteration in the container. The alterations have four type
   6.106 +  // as \e add(), \e erase(), \e build() and \e clear(). The \e add() and
   6.107 +  // \e erase() signals that only one or few items added or erased to or
   6.108 +  // from the graph. If all items are erased from the graph or from an empty
   6.109 +  // graph a new graph is builded then it can be signaled with the
   6.110 +  // clear() and build() members. Important rule that if we erase items
   6.111 +  // from graph we should first signal the alteration and after that erase
   6.112 +  // them from the container, on the other way on item addition we should
   6.113 +  // first extend the container and just after that signal the alteration.
   6.114 +  //
   6.115 +  // The alteration can be observed with a class inherited from the
   6.116 +  // \e ObserverBase nested class. The signals can be handled with
   6.117 +  // overriding the virtual functions defined in the base class.  The
   6.118 +  // observer base can be attached to the notifier with the
   6.119 +  // \e attach() member and can be detached with detach() function. The
   6.120 +  // alteration handlers should not call any function which signals
   6.121 +  // an other alteration in the same notifier and should not
   6.122 +  // detach any observer from the notifier.
   6.123 +  //
   6.124 +  // Alteration observers try to be exception safe. If an \e add() or
   6.125 +  // a \e clear() function throws an exception then the remaining
   6.126 +  // observeres will not be notified and the fulfilled additions will
   6.127 +  // be rolled back by calling the \e erase() or \e clear()
   6.128 +  // functions. Thence the \e erase() and \e clear() should not throw
   6.129 +  // exception. Actullay, it can be throw only \ref ImmediateDetach
   6.130 +  // exception which detach the observer from the notifier.
   6.131 +  //
   6.132 +  // There are some place when the alteration observing is not completly
   6.133 +  // reliable. If we want to carry out the node degree in the graph
   6.134 +  // as in the \ref InDegMap and we use the reverseEdge that cause
   6.135 +  // unreliable functionality. Because the alteration observing signals
   6.136 +  // only erasing and adding but not the reversing it will stores bad
   6.137 +  // degrees. The sub graph adaptors cannot signal the alterations because
   6.138 +  // just a setting in the filter map can modify the graph and this cannot
   6.139 +  // be watched in any way.
   6.140 +  //
   6.141 +  // \param _Container The container which is observed.
   6.142 +  // \param _Item The item type which is obserbved.
   6.143  
   6.144    template <typename _Container, typename _Item>
   6.145    class AlterationNotifier {
   6.146 @@ -104,92 +103,87 @@
   6.147      typedef _Container Container;
   6.148      typedef _Item Item;
   6.149  
   6.150 -    /// \brief Exception which can be called from \e clear() and
   6.151 -    /// \e erase().
   6.152 -    ///
   6.153 -    /// From the \e clear() and \e erase() function only this
   6.154 -    /// exception is allowed to throw. The exception immediatly
   6.155 -    /// detaches the current observer from the notifier. Because the
   6.156 -    /// \e clear() and \e erase() should not throw other exceptions
   6.157 -    /// it can be used to invalidate the observer.
   6.158 +    // \brief Exception which can be called from \e clear() and
   6.159 +    // \e erase().
   6.160 +    //
   6.161 +    // From the \e clear() and \e erase() function only this
   6.162 +    // exception is allowed to throw. The exception immediatly
   6.163 +    // detaches the current observer from the notifier. Because the
   6.164 +    // \e clear() and \e erase() should not throw other exceptions
   6.165 +    // it can be used to invalidate the observer.
   6.166      struct ImmediateDetach {};
   6.167  
   6.168 -    /// \brief ObserverBase is the base class for the observers.
   6.169 -    ///
   6.170 -    /// ObserverBase is the abstract base class for the observers.
   6.171 -    /// It will be notified about an item was inserted into or
   6.172 -    /// erased from the graph.
   6.173 -    ///
   6.174 -    /// The observer interface contains some pure virtual functions
   6.175 -    /// to override. The add() and erase() functions are
   6.176 -    /// to notify the oberver when one item is added or
   6.177 -    /// erased.
   6.178 -    ///
   6.179 -    /// The build() and clear() members are to notify the observer
   6.180 -    /// about the container is built from an empty container or
   6.181 -    /// is cleared to an empty container.
   6.182 -
   6.183 +    // \brief ObserverBase is the base class for the observers.
   6.184 +    //
   6.185 +    // ObserverBase is the abstract base class for the observers.
   6.186 +    // It will be notified about an item was inserted into or
   6.187 +    // erased from the graph.
   6.188 +    //
   6.189 +    // The observer interface contains some pure virtual functions
   6.190 +    // to override. The add() and erase() functions are
   6.191 +    // to notify the oberver when one item is added or
   6.192 +    // erased.
   6.193 +    //
   6.194 +    // The build() and clear() members are to notify the observer
   6.195 +    // about the container is built from an empty container or
   6.196 +    // is cleared to an empty container.
   6.197      class ObserverBase {
   6.198      protected:
   6.199        typedef AlterationNotifier Notifier;
   6.200  
   6.201        friend class AlterationNotifier;
   6.202  
   6.203 -      /// \brief Default constructor.
   6.204 -      ///
   6.205 -      /// Default constructor for ObserverBase.
   6.206 -      ///
   6.207 +      // \brief Default constructor.
   6.208 +      //
   6.209 +      // Default constructor for ObserverBase.
   6.210        ObserverBase() : _notifier(0) {}
   6.211  
   6.212 -      /// \brief Constructor which attach the observer into notifier.
   6.213 -      ///
   6.214 -      /// Constructor which attach the observer into notifier.
   6.215 +      // \brief Constructor which attach the observer into notifier.
   6.216 +      //
   6.217 +      // Constructor which attach the observer into notifier.
   6.218        ObserverBase(AlterationNotifier& nf) {
   6.219          attach(nf);
   6.220        }
   6.221  
   6.222 -      /// \brief Constructor which attach the obserever to the same notifier.
   6.223 -      ///
   6.224 -      /// Constructor which attach the obserever to the same notifier as
   6.225 -      /// the other observer is attached to.
   6.226 +      // \brief Constructor which attach the obserever to the same notifier.
   6.227 +      //
   6.228 +      // Constructor which attach the obserever to the same notifier as
   6.229 +      // the other observer is attached to.
   6.230        ObserverBase(const ObserverBase& copy) {
   6.231          if (copy.attached()) {
   6.232            attach(*copy.notifier());
   6.233          }
   6.234        }
   6.235  
   6.236 -      /// \brief Destructor
   6.237 +      // \brief Destructor
   6.238        virtual ~ObserverBase() {
   6.239          if (attached()) {
   6.240            detach();
   6.241          }
   6.242        }
   6.243  
   6.244 -      /// \brief Attaches the observer into an AlterationNotifier.
   6.245 -      ///
   6.246 -      /// This member attaches the observer into an AlterationNotifier.
   6.247 -      ///
   6.248 +      // \brief Attaches the observer into an AlterationNotifier.
   6.249 +      //
   6.250 +      // This member attaches the observer into an AlterationNotifier.
   6.251        void attach(AlterationNotifier& nf) {
   6.252          nf.attach(*this);
   6.253        }
   6.254  
   6.255 -      /// \brief Detaches the observer into an AlterationNotifier.
   6.256 -      ///
   6.257 -      /// This member detaches the observer from an AlterationNotifier.
   6.258 -      ///
   6.259 +      // \brief Detaches the observer into an AlterationNotifier.
   6.260 +      //
   6.261 +      // This member detaches the observer from an AlterationNotifier.
   6.262        void detach() {
   6.263          _notifier->detach(*this);
   6.264        }
   6.265  
   6.266 -      /// \brief Gives back a pointer to the notifier which the map
   6.267 -      /// attached into.
   6.268 -      ///
   6.269 -      /// This function gives back a pointer to the notifier which the map
   6.270 -      /// attached into.
   6.271 -      ///
   6.272 +      // \brief Gives back a pointer to the notifier which the map
   6.273 +      // attached into.
   6.274 +      //
   6.275 +      // This function gives back a pointer to the notifier which the map
   6.276 +      // attached into.
   6.277        Notifier* notifier() const { return const_cast<Notifier*>(_notifier); }
   6.278  
   6.279 -      /// Gives back true when the observer is attached into a notifier.
   6.280 +      // Gives back true when the observer is attached into a notifier.
   6.281        bool attached() const { return _notifier != 0; }
   6.282  
   6.283      private:
   6.284 @@ -201,53 +195,52 @@
   6.285        Notifier* _notifier;
   6.286        typename std::list<ObserverBase*>::iterator _index;
   6.287  
   6.288 -      /// \brief The member function to notificate the observer about an
   6.289 -      /// item is added to the container.
   6.290 -      ///
   6.291 -      /// The add() member function notificates the observer about an item
   6.292 -      /// is added to the container. It have to be overrided in the
   6.293 -      /// subclasses.
   6.294 +      // \brief The member function to notificate the observer about an
   6.295 +      // item is added to the container.
   6.296 +      //
   6.297 +      // The add() member function notificates the observer about an item
   6.298 +      // is added to the container. It have to be overrided in the
   6.299 +      // subclasses.
   6.300        virtual void add(const Item&) = 0;
   6.301  
   6.302 -      /// \brief The member function to notificate the observer about
   6.303 -      /// more item is added to the container.
   6.304 -      ///
   6.305 -      /// The add() member function notificates the observer about more item
   6.306 -      /// is added to the container. It have to be overrided in the
   6.307 -      /// subclasses.
   6.308 +      // \brief The member function to notificate the observer about
   6.309 +      // more item is added to the container.
   6.310 +      //
   6.311 +      // The add() member function notificates the observer about more item
   6.312 +      // is added to the container. It have to be overrided in the
   6.313 +      // subclasses.
   6.314        virtual void add(const std::vector<Item>& items) = 0;
   6.315  
   6.316 -      /// \brief The member function to notificate the observer about an
   6.317 -      /// item is erased from the container.
   6.318 -      ///
   6.319 -      /// The erase() member function notificates the observer about an
   6.320 -      /// item is erased from the container. It have to be overrided in
   6.321 -      /// the subclasses.
   6.322 +      // \brief The member function to notificate the observer about an
   6.323 +      // item is erased from the container.
   6.324 +      //
   6.325 +      // The erase() member function notificates the observer about an
   6.326 +      // item is erased from the container. It have to be overrided in
   6.327 +      // the subclasses.
   6.328        virtual void erase(const Item&) = 0;
   6.329  
   6.330 -      /// \brief The member function to notificate the observer about
   6.331 -      /// more item is erased from the container.
   6.332 -      ///
   6.333 -      /// The erase() member function notificates the observer about more item
   6.334 -      /// is erased from the container. It have to be overrided in the
   6.335 -      /// subclasses.
   6.336 +      // \brief The member function to notificate the observer about
   6.337 +      // more item is erased from the container.
   6.338 +      //
   6.339 +      // The erase() member function notificates the observer about more item
   6.340 +      // is erased from the container. It have to be overrided in the
   6.341 +      // subclasses.
   6.342        virtual void erase(const std::vector<Item>& items) = 0;
   6.343  
   6.344 -      /// \brief The member function to notificate the observer about the
   6.345 -      /// container is built.
   6.346 -      ///
   6.347 -      /// The build() member function notificates the observer about the
   6.348 -      /// container is built from an empty container. It have to be
   6.349 -      /// overrided in the subclasses.
   6.350 -
   6.351 +      // \brief The member function to notificate the observer about the
   6.352 +      // container is built.
   6.353 +      //
   6.354 +      // The build() member function notificates the observer about the
   6.355 +      // container is built from an empty container. It have to be
   6.356 +      // overrided in the subclasses.
   6.357        virtual void build() = 0;
   6.358  
   6.359 -      /// \brief The member function to notificate the observer about all
   6.360 -      /// items are erased from the container.
   6.361 -      ///
   6.362 -      /// The clear() member function notificates the observer about all
   6.363 -      /// items are erased from the container. It have to be overrided in
   6.364 -      /// the subclasses.
   6.365 +      // \brief The member function to notificate the observer about all
   6.366 +      // items are erased from the container.
   6.367 +      //
   6.368 +      // The clear() member function notificates the observer about all
   6.369 +      // items are erased from the container. It have to be overrided in
   6.370 +      // the subclasses.
   6.371        virtual void clear() = 0;
   6.372  
   6.373      };
   6.374 @@ -262,31 +255,30 @@
   6.375  
   6.376    public:
   6.377  
   6.378 -    /// \brief Default constructor.
   6.379 -    ///
   6.380 -    /// The default constructor of the AlterationNotifier.
   6.381 -    /// It creates an empty notifier.
   6.382 +    // \brief Default constructor.
   6.383 +    //
   6.384 +    // The default constructor of the AlterationNotifier.
   6.385 +    // It creates an empty notifier.
   6.386      AlterationNotifier()
   6.387        : container(0) {}
   6.388  
   6.389 -    /// \brief Constructor.
   6.390 -    ///
   6.391 -    /// Constructor with the observed container parameter.
   6.392 +    // \brief Constructor.
   6.393 +    //
   6.394 +    // Constructor with the observed container parameter.
   6.395      AlterationNotifier(const Container& _container)
   6.396        : container(&_container) {}
   6.397  
   6.398 -    /// \brief Copy Constructor of the AlterationNotifier.
   6.399 -    ///
   6.400 -    /// Copy constructor of the AlterationNotifier.
   6.401 -    /// It creates only an empty notifier because the copiable
   6.402 -    /// notifier's observers have to be registered still into that notifier.
   6.403 +    // \brief Copy Constructor of the AlterationNotifier.
   6.404 +    //
   6.405 +    // Copy constructor of the AlterationNotifier.
   6.406 +    // It creates only an empty notifier because the copiable
   6.407 +    // notifier's observers have to be registered still into that notifier.
   6.408      AlterationNotifier(const AlterationNotifier& _notifier)
   6.409        : container(_notifier.container) {}
   6.410  
   6.411 -    /// \brief Destructor.
   6.412 -    ///
   6.413 -    /// Destructor of the AlterationNotifier.
   6.414 -    ///
   6.415 +    // \brief Destructor.
   6.416 +    //
   6.417 +    // Destructor of the AlterationNotifier.
   6.418      ~AlterationNotifier() {
   6.419        typename Observers::iterator it;
   6.420        for (it = _observers.begin(); it != _observers.end(); ++it) {
   6.421 @@ -294,9 +286,9 @@
   6.422        }
   6.423      }
   6.424  
   6.425 -    /// \brief Sets the container.
   6.426 -    ///
   6.427 -    /// Sets the container.
   6.428 +    // \brief Sets the container.
   6.429 +    //
   6.430 +    // Sets the container.
   6.431      void setContainer(const Container& _container) {
   6.432        container = &_container;
   6.433      }
   6.434 @@ -307,34 +299,32 @@
   6.435  
   6.436    public:
   6.437  
   6.438 -
   6.439 -
   6.440 -    /// \brief First item in the container.
   6.441 -    ///
   6.442 -    /// Returns the first item in the container. It is
   6.443 -    /// for start the iteration on the container.
   6.444 +    // \brief First item in the container.
   6.445 +    //
   6.446 +    // Returns the first item in the container. It is
   6.447 +    // for start the iteration on the container.
   6.448      void first(Item& item) const {
   6.449        container->first(item);
   6.450      }
   6.451  
   6.452 -    /// \brief Next item in the container.
   6.453 -    ///
   6.454 -    /// Returns the next item in the container. It is
   6.455 -    /// for iterate on the container.
   6.456 +    // \brief Next item in the container.
   6.457 +    //
   6.458 +    // Returns the next item in the container. It is
   6.459 +    // for iterate on the container.
   6.460      void next(Item& item) const {
   6.461        container->next(item);
   6.462      }
   6.463  
   6.464 -    /// \brief Returns the id of the item.
   6.465 -    ///
   6.466 -    /// Returns the id of the item provided by the container.
   6.467 +    // \brief Returns the id of the item.
   6.468 +    //
   6.469 +    // Returns the id of the item provided by the container.
   6.470      int id(const Item& item) const {
   6.471        return container->id(item);
   6.472      }
   6.473  
   6.474 -    /// \brief Returns the maximum id of the container.
   6.475 -    ///
   6.476 -    /// Returns the maximum id of the container.
   6.477 +    // \brief Returns the maximum id of the container.
   6.478 +    //
   6.479 +    // Returns the maximum id of the container.
   6.480      int maxId() const {
   6.481        return container->maxId(Item());
   6.482      }
   6.483 @@ -354,12 +344,11 @@
   6.484  
   6.485    public:
   6.486  
   6.487 -    /// \brief Notifies all the registed observers about an item added to
   6.488 -    /// the container.
   6.489 -    ///
   6.490 -    /// It notifies all the registed observers about an item added to
   6.491 -    /// the container.
   6.492 -    ///
   6.493 +    // \brief Notifies all the registed observers about an item added to
   6.494 +    // the container.
   6.495 +    //
   6.496 +    // It notifies all the registed observers about an item added to
   6.497 +    // the container.
   6.498      void add(const Item& item) {
   6.499        typename Observers::reverse_iterator it;
   6.500        try {
   6.501 @@ -375,12 +364,11 @@
   6.502        }
   6.503      }
   6.504  
   6.505 -    /// \brief Notifies all the registed observers about more item added to
   6.506 -    /// the container.
   6.507 -    ///
   6.508 -    /// It notifies all the registed observers about more item added to
   6.509 -    /// the container.
   6.510 -    ///
   6.511 +    // \brief Notifies all the registed observers about more item added to
   6.512 +    // the container.
   6.513 +    //
   6.514 +    // It notifies all the registed observers about more item added to
   6.515 +    // the container.
   6.516      void add(const std::vector<Item>& items) {
   6.517        typename Observers::reverse_iterator it;
   6.518        try {
   6.519 @@ -396,12 +384,11 @@
   6.520        }
   6.521      }
   6.522  
   6.523 -    /// \brief Notifies all the registed observers about an item erased from
   6.524 -    /// the container.
   6.525 -    ///
   6.526 -    /// It notifies all the registed observers about an item erased from
   6.527 -    /// the container.
   6.528 -    ///
   6.529 +    // \brief Notifies all the registed observers about an item erased from
   6.530 +    // the container.
   6.531 +    //
   6.532 +    // It notifies all the registed observers about an item erased from
   6.533 +    // the container.
   6.534      void erase(const Item& item) throw() {
   6.535        typename Observers::iterator it = _observers.begin();
   6.536        while (it != _observers.end()) {
   6.537 @@ -416,12 +403,11 @@
   6.538        }
   6.539      }
   6.540  
   6.541 -    /// \brief Notifies all the registed observers about more item erased
   6.542 -    /// from the container.
   6.543 -    ///
   6.544 -    /// It notifies all the registed observers about more item erased from
   6.545 -    /// the container.
   6.546 -    ///
   6.547 +    // \brief Notifies all the registed observers about more item erased
   6.548 +    // from the container.
   6.549 +    //
   6.550 +    // It notifies all the registed observers about more item erased from
   6.551 +    // the container.
   6.552      void erase(const std::vector<Item>& items) {
   6.553        typename Observers::iterator it = _observers.begin();
   6.554        while (it != _observers.end()) {
   6.555 @@ -436,11 +422,11 @@
   6.556        }
   6.557      }
   6.558  
   6.559 -    /// \brief Notifies all the registed observers about the container is
   6.560 -    /// built.
   6.561 -    ///
   6.562 -    /// Notifies all the registed observers about the container is built
   6.563 -    /// from an empty container.
   6.564 +    // \brief Notifies all the registed observers about the container is
   6.565 +    // built.
   6.566 +    //
   6.567 +    // Notifies all the registed observers about the container is built
   6.568 +    // from an empty container.
   6.569      void build() {
   6.570        typename Observers::reverse_iterator it;
   6.571        try {
   6.572 @@ -456,11 +442,11 @@
   6.573        }
   6.574      }
   6.575  
   6.576 -    /// \brief Notifies all the registed observers about all items are
   6.577 -    /// erased.
   6.578 -    ///
   6.579 -    /// Notifies all the registed observers about all items are erased
   6.580 -    /// from the container.
   6.581 +    // \brief Notifies all the registed observers about all items are
   6.582 +    // erased.
   6.583 +    //
   6.584 +    // Notifies all the registed observers about all items are erased
   6.585 +    // from the container.
   6.586      void clear() {
   6.587        typename Observers::iterator it = _observers.begin();
   6.588        while (it != _observers.end()) {
     7.1 --- a/lemon/bits/array_map.h	Thu Oct 09 13:40:40 2008 +0100
     7.2 +++ b/lemon/bits/array_map.h	Thu Oct 09 13:54:50 2008 +0100
     7.3 @@ -26,48 +26,48 @@
     7.4  #include <lemon/concept_check.h>
     7.5  #include <lemon/concepts/maps.h>
     7.6  
     7.7 -/// \ingroup graphbits
     7.8 -/// \file
     7.9 -/// \brief Graph map based on the array storage.
    7.10 +// \ingroup graphbits
    7.11 +// \file
    7.12 +// \brief Graph map based on the array storage.
    7.13  
    7.14  namespace lemon {
    7.15  
    7.16 -  /// \ingroup graphbits
    7.17 -  ///
    7.18 -  /// \brief Graph map based on the array storage.
    7.19 -  ///
    7.20 -  /// The ArrayMap template class is graph map structure what
    7.21 -  /// automatically updates the map when a key is added to or erased from
    7.22 -  /// the map. This map uses the allocators to implement
    7.23 -  /// the container functionality.
    7.24 -  ///
    7.25 -  /// The template parameters are the Graph the current Item type and
    7.26 -  /// the Value type of the map.
    7.27 +  // \ingroup graphbits
    7.28 +  //
    7.29 +  // \brief Graph map based on the array storage.
    7.30 +  //
    7.31 +  // The ArrayMap template class is graph map structure what
    7.32 +  // automatically updates the map when a key is added to or erased from
    7.33 +  // the map. This map uses the allocators to implement
    7.34 +  // the container functionality.
    7.35 +  //
    7.36 +  // The template parameters are the Graph the current Item type and
    7.37 +  // the Value type of the map.
    7.38    template <typename _Graph, typename _Item, typename _Value>
    7.39    class ArrayMap
    7.40      : public ItemSetTraits<_Graph, _Item>::ItemNotifier::ObserverBase {
    7.41    public:
    7.42 -    /// The graph type of the maps.
    7.43 +    // The graph type of the maps.
    7.44      typedef _Graph Graph;
    7.45 -    /// The item type of the map.
    7.46 +    // The item type of the map.
    7.47      typedef _Item Item;
    7.48 -    /// The reference map tag.
    7.49 +    // The reference map tag.
    7.50      typedef True ReferenceMapTag;
    7.51  
    7.52 -    /// The key type of the maps.
    7.53 +    // The key type of the maps.
    7.54      typedef _Item Key;
    7.55 -    /// The value type of the map.
    7.56 +    // The value type of the map.
    7.57      typedef _Value Value;
    7.58  
    7.59 -    /// The const reference type of the map.
    7.60 +    // The const reference type of the map.
    7.61      typedef const _Value& ConstReference;
    7.62 -    /// The reference type of the map.
    7.63 +    // The reference type of the map.
    7.64      typedef _Value& Reference;
    7.65  
    7.66 -    /// The notifier type.
    7.67 +    // The notifier type.
    7.68      typedef typename ItemSetTraits<_Graph, _Item>::ItemNotifier Notifier;
    7.69  
    7.70 -    /// The MapBase of the Map which imlements the core regisitry function.
    7.71 +    // The MapBase of the Map which imlements the core regisitry function.
    7.72      typedef typename Notifier::ObserverBase Parent;
    7.73  
    7.74    private:
    7.75 @@ -75,9 +75,9 @@
    7.76  
    7.77    public:
    7.78  
    7.79 -    /// \brief Graph initialized map constructor.
    7.80 -    ///
    7.81 -    /// Graph initialized map constructor.
    7.82 +    // \brief Graph initialized map constructor.
    7.83 +    //
    7.84 +    // Graph initialized map constructor.
    7.85      explicit ArrayMap(const Graph& graph) {
    7.86        Parent::attach(graph.notifier(Item()));
    7.87        allocate_memory();
    7.88 @@ -89,9 +89,9 @@
    7.89        }
    7.90      }
    7.91  
    7.92 -    /// \brief Constructor to use default value to initialize the map.
    7.93 -    ///
    7.94 -    /// It constructs a map and initialize all of the the map.
    7.95 +    // \brief Constructor to use default value to initialize the map.
    7.96 +    //
    7.97 +    // It constructs a map and initialize all of the the map.
    7.98      ArrayMap(const Graph& graph, const Value& value) {
    7.99        Parent::attach(graph.notifier(Item()));
   7.100        allocate_memory();
   7.101 @@ -104,9 +104,9 @@
   7.102      }
   7.103  
   7.104    private:
   7.105 -    /// \brief Constructor to copy a map of the same map type.
   7.106 -    ///
   7.107 -    /// Constructor to copy a map of the same map type.
   7.108 +    // \brief Constructor to copy a map of the same map type.
   7.109 +    //
   7.110 +    // Constructor to copy a map of the same map type.
   7.111      ArrayMap(const ArrayMap& copy) : Parent() {
   7.112        if (copy.attached()) {
   7.113          attach(*copy.notifier());
   7.114 @@ -122,24 +122,24 @@
   7.115        }
   7.116      }
   7.117  
   7.118 -    /// \brief Assign operator.
   7.119 -    ///
   7.120 -    /// This operator assigns for each item in the map the
   7.121 -    /// value mapped to the same item in the copied map.
   7.122 -    /// The parameter map should be indiced with the same
   7.123 -    /// itemset because this assign operator does not change
   7.124 -    /// the container of the map.
   7.125 +    // \brief Assign operator.
   7.126 +    //
   7.127 +    // This operator assigns for each item in the map the
   7.128 +    // value mapped to the same item in the copied map.
   7.129 +    // The parameter map should be indiced with the same
   7.130 +    // itemset because this assign operator does not change
   7.131 +    // the container of the map.
   7.132      ArrayMap& operator=(const ArrayMap& cmap) {
   7.133        return operator=<ArrayMap>(cmap);
   7.134      }
   7.135  
   7.136  
   7.137 -    /// \brief Template assign operator.
   7.138 -    ///
   7.139 -    /// The given parameter should be conform to the ReadMap
   7.140 -    /// concecpt and could be indiced by the current item set of
   7.141 -    /// the NodeMap. In this case the value for each item
   7.142 -    /// is assigned by the value of the given ReadMap.
   7.143 +    // \brief Template assign operator.
   7.144 +    //
   7.145 +    // The given parameter should be conform to the ReadMap
   7.146 +    // concecpt and could be indiced by the current item set of
   7.147 +    // the NodeMap. In this case the value for each item
   7.148 +    // is assigned by the value of the given ReadMap.
   7.149      template <typename CMap>
   7.150      ArrayMap& operator=(const CMap& cmap) {
   7.151        checkConcept<concepts::ReadMap<Key, _Value>, CMap>();
   7.152 @@ -152,9 +152,9 @@
   7.153      }
   7.154  
   7.155    public:
   7.156 -    /// \brief The destructor of the map.
   7.157 -    ///
   7.158 -    /// The destructor of the map.
   7.159 +    // \brief The destructor of the map.
   7.160 +    //
   7.161 +    // The destructor of the map.
   7.162      virtual ~ArrayMap() {
   7.163        if (attached()) {
   7.164          clear();
   7.165 @@ -170,38 +170,38 @@
   7.166  
   7.167    public:
   7.168  
   7.169 -    /// \brief The subscript operator.
   7.170 -    ///
   7.171 -    /// The subscript operator. The map can be subscripted by the
   7.172 -    /// actual keys of the graph.
   7.173 +    // \brief The subscript operator.
   7.174 +    //
   7.175 +    // The subscript operator. The map can be subscripted by the
   7.176 +    // actual keys of the graph.
   7.177      Value& operator[](const Key& key) {
   7.178        int id = Parent::notifier()->id(key);
   7.179        return values[id];
   7.180      }
   7.181  
   7.182 -    /// \brief The const subscript operator.
   7.183 -    ///
   7.184 -    /// The const subscript operator. The map can be subscripted by the
   7.185 -    /// actual keys of the graph.
   7.186 +    // \brief The const subscript operator.
   7.187 +    //
   7.188 +    // The const subscript operator. The map can be subscripted by the
   7.189 +    // actual keys of the graph.
   7.190      const Value& operator[](const Key& key) const {
   7.191        int id = Parent::notifier()->id(key);
   7.192        return values[id];
   7.193      }
   7.194  
   7.195 -    /// \brief Setter function of the map.
   7.196 -    ///
   7.197 -    /// Setter function of the map. Equivalent with map[key] = val.
   7.198 -    /// This is a compatibility feature with the not dereferable maps.
   7.199 +    // \brief Setter function of the map.
   7.200 +    //
   7.201 +    // Setter function of the map. Equivalent with map[key] = val.
   7.202 +    // This is a compatibility feature with the not dereferable maps.
   7.203      void set(const Key& key, const Value& val) {
   7.204        (*this)[key] = val;
   7.205      }
   7.206  
   7.207    protected:
   7.208  
   7.209 -    /// \brief Adds a new key to the map.
   7.210 -    ///
   7.211 -    /// It adds a new key to the map. It called by the observer notifier
   7.212 -    /// and it overrides the add() member function of the observer base.
   7.213 +    // \brief Adds a new key to the map.
   7.214 +    //
   7.215 +    // It adds a new key to the map. It called by the observer notifier
   7.216 +    // and it overrides the add() member function of the observer base.
   7.217      virtual void add(const Key& key) {
   7.218        Notifier* nf = Parent::notifier();
   7.219        int id = nf->id(key);
   7.220 @@ -226,10 +226,10 @@
   7.221        allocator.construct(&(values[id]), Value());
   7.222      }
   7.223  
   7.224 -    /// \brief Adds more new keys to the map.
   7.225 -    ///
   7.226 -    /// It adds more new keys to the map. It called by the observer notifier
   7.227 -    /// and it overrides the add() member function of the observer base.
   7.228 +    // \brief Adds more new keys to the map.
   7.229 +    //
   7.230 +    // It adds more new keys to the map. It called by the observer notifier
   7.231 +    // and it overrides the add() member function of the observer base.
   7.232      virtual void add(const std::vector<Key>& keys) {
   7.233        Notifier* nf = Parent::notifier();
   7.234        int max_id = -1;
   7.235 @@ -270,19 +270,19 @@
   7.236        }
   7.237      }
   7.238  
   7.239 -    /// \brief Erase a key from the map.
   7.240 -    ///
   7.241 -    /// Erase a key from the map. It called by the observer notifier
   7.242 -    /// and it overrides the erase() member function of the observer base.
   7.243 +    // \brief Erase a key from the map.
   7.244 +    //
   7.245 +    // Erase a key from the map. It called by the observer notifier
   7.246 +    // and it overrides the erase() member function of the observer base.
   7.247      virtual void erase(const Key& key) {
   7.248        int id = Parent::notifier()->id(key);
   7.249        allocator.destroy(&(values[id]));
   7.250      }
   7.251  
   7.252 -    /// \brief Erase more keys from the map.
   7.253 -    ///
   7.254 -    /// Erase more keys from the map. It called by the observer notifier
   7.255 -    /// and it overrides the erase() member function of the observer base.
   7.256 +    // \brief Erase more keys from the map.
   7.257 +    //
   7.258 +    // Erase more keys from the map. It called by the observer notifier
   7.259 +    // and it overrides the erase() member function of the observer base.
   7.260      virtual void erase(const std::vector<Key>& keys) {
   7.261        for (int i = 0; i < int(keys.size()); ++i) {
   7.262          int id = Parent::notifier()->id(keys[i]);
   7.263 @@ -290,10 +290,10 @@
   7.264        }
   7.265      }
   7.266  
   7.267 -    /// \brief Buildes the map.
   7.268 -    ///
   7.269 -    /// It buildes the map. It called by the observer notifier
   7.270 -    /// and it overrides the build() member function of the observer base.
   7.271 +    // \brief Buildes the map.
   7.272 +    //
   7.273 +    // It buildes the map. It called by the observer notifier
   7.274 +    // and it overrides the build() member function of the observer base.
   7.275      virtual void build() {
   7.276        Notifier* nf = Parent::notifier();
   7.277        allocate_memory();
   7.278 @@ -304,10 +304,10 @@
   7.279        }
   7.280      }
   7.281  
   7.282 -    /// \brief Clear the map.
   7.283 -    ///
   7.284 -    /// It erase all items from the map. It called by the observer notifier
   7.285 -    /// and it overrides the clear() member function of the observer base.
   7.286 +    // \brief Clear the map.
   7.287 +    //
   7.288 +    // It erase all items from the map. It called by the observer notifier
   7.289 +    // and it overrides the clear() member function of the observer base.
   7.290      virtual void clear() {
   7.291        Notifier* nf = Parent::notifier();
   7.292        if (capacity != 0) {
     8.1 --- a/lemon/bits/base_extender.h	Thu Oct 09 13:40:40 2008 +0100
     8.2 +++ b/lemon/bits/base_extender.h	Thu Oct 09 13:54:50 2008 +0100
     8.3 @@ -28,14 +28,14 @@
     8.4  #include <lemon/concept_check.h>
     8.5  #include <lemon/concepts/maps.h>
     8.6  
     8.7 -///\ingroup digraphbits
     8.8 -///\file
     8.9 -///\brief Extenders for the digraph types
    8.10 +//\ingroup digraphbits
    8.11 +//\file
    8.12 +//\brief Extenders for the digraph types
    8.13  namespace lemon {
    8.14  
    8.15 -  /// \ingroup digraphbits
    8.16 -  ///
    8.17 -  /// \brief BaseDigraph to BaseGraph extender
    8.18 +  // \ingroup digraphbits
    8.19 +  //
    8.20 +  // \brief BaseDigraph to BaseGraph extender
    8.21    template <typename Base>
    8.22    class UndirDigraphExtender : public Base {
    8.23  
    8.24 @@ -74,37 +74,37 @@
    8.25        }
    8.26      };
    8.27  
    8.28 -    /// First node of the edge
    8.29 +    // First node of the edge
    8.30      Node u(const Edge &e) const {
    8.31        return Parent::source(e);
    8.32      }
    8.33  
    8.34 -    /// Source of the given arc
    8.35 +    // Source of the given arc
    8.36      Node source(const Arc &e) const {
    8.37        return e.forward ? Parent::source(e) : Parent::target(e);
    8.38      }
    8.39  
    8.40 -    /// Second node of the edge
    8.41 +    // Second node of the edge
    8.42      Node v(const Edge &e) const {
    8.43        return Parent::target(e);
    8.44      }
    8.45  
    8.46 -    /// Target of the given arc
    8.47 +    // Target of the given arc
    8.48      Node target(const Arc &e) const {
    8.49        return e.forward ? Parent::target(e) : Parent::source(e);
    8.50      }
    8.51  
    8.52 -    /// \brief Directed arc from an edge.
    8.53 -    ///
    8.54 -    /// Returns a directed arc corresponding to the specified edge.
    8.55 -    /// If the given bool is true, the first node of the given edge and
    8.56 -    /// the source node of the returned arc are the same.
    8.57 +    // \brief Directed arc from an edge.
    8.58 +    //
    8.59 +    // Returns a directed arc corresponding to the specified edge.
    8.60 +    // If the given bool is true, the first node of the given edge and
    8.61 +    // the source node of the returned arc are the same.
    8.62      static Arc direct(const Edge &e, bool d) {
    8.63        return Arc(e, d);
    8.64      }
    8.65  
    8.66 -    /// Returns whether the given directed arc has the same orientation
    8.67 -    /// as the corresponding edge.
    8.68 +    // Returns whether the given directed arc has the same orientation
    8.69 +    // as the corresponding edge.
    8.70      static bool direction(const Arc &a) { return a.forward; }
    8.71  
    8.72      using Parent::first;
     9.1 --- a/lemon/bits/bezier.h	Thu Oct 09 13:40:40 2008 +0100
     9.2 +++ b/lemon/bits/bezier.h	Thu Oct 09 13:54:50 2008 +0100
     9.3 @@ -19,11 +19,11 @@
     9.4  #ifndef LEMON_BEZIER_H
     9.5  #define LEMON_BEZIER_H
     9.6  
     9.7 -///\ingroup misc
     9.8 -///\file
     9.9 -///\brief Classes to compute with Bezier curves.
    9.10 -///
    9.11 -///Up to now this file is used internally by \ref graph_to_eps.h
    9.12 +//\ingroup misc
    9.13 +//\file
    9.14 +//\brief Classes to compute with Bezier curves.
    9.15 +//
    9.16 +//Up to now this file is used internally by \ref graph_to_eps.h
    9.17  
    9.18  #include<lemon/dim2.h>
    9.19  
    10.1 --- a/lemon/bits/default_map.h	Thu Oct 09 13:40:40 2008 +0100
    10.2 +++ b/lemon/bits/default_map.h	Thu Oct 09 13:54:50 2008 +0100
    10.3 @@ -19,14 +19,13 @@
    10.4  #ifndef LEMON_BITS_DEFAULT_MAP_H
    10.5  #define LEMON_BITS_DEFAULT_MAP_H
    10.6  
    10.7 -
    10.8  #include <lemon/bits/array_map.h>
    10.9  #include <lemon/bits/vector_map.h>
   10.10  //#include <lemon/bits/debug_map.h>
   10.11  
   10.12 -///\ingroup graphbits
   10.13 -///\file
   10.14 -///\brief Graph maps that construct and destruct their elements dynamically.
   10.15 +//\ingroup graphbits
   10.16 +//\file
   10.17 +//\brief Graph maps that construct and destruct their elements dynamically.
   10.18  
   10.19  namespace lemon {
   10.20  
   10.21 @@ -149,7 +148,7 @@
   10.22  
   10.23  // #endif
   10.24  
   10.25 -  /// \e
   10.26 +  // DefaultMap class
   10.27    template <typename _Graph, typename _Item, typename _Value>
   10.28    class DefaultMap
   10.29      : public DefaultMapSelector<_Graph, _Item, _Value>::Map {
    11.1 --- a/lemon/bits/enable_if.h	Thu Oct 09 13:40:40 2008 +0100
    11.2 +++ b/lemon/bits/enable_if.h	Thu Oct 09 13:54:50 2008 +0100
    11.3 @@ -35,29 +35,29 @@
    11.4  #ifndef LEMON_BITS_ENABLE_IF_H
    11.5  #define LEMON_BITS_ENABLE_IF_H
    11.6  
    11.7 -///\file
    11.8 -///\brief Miscellaneous basic utilities
    11.9 +//\file
   11.10 +//\brief Miscellaneous basic utilities
   11.11  
   11.12  namespace lemon
   11.13  {
   11.14  
   11.15 -  /// Basic type for defining "tags". A "YES" condition for \c enable_if.
   11.16 +  // Basic type for defining "tags". A "YES" condition for \c enable_if.
   11.17  
   11.18 -  /// Basic type for defining "tags". A "YES" condition for \c enable_if.
   11.19 -  ///
   11.20 -  ///\sa False
   11.21 +  // Basic type for defining "tags". A "YES" condition for \c enable_if.
   11.22 +  //
   11.23 +  //\sa False
   11.24    struct True {
   11.25 -    ///\e
   11.26 +    //\e
   11.27      static const bool value = true;
   11.28    };
   11.29  
   11.30 -  /// Basic type for defining "tags". A "NO" condition for \c enable_if.
   11.31 +  // Basic type for defining "tags". A "NO" condition for \c enable_if.
   11.32  
   11.33 -  /// Basic type for defining "tags". A "NO" condition for \c enable_if.
   11.34 -  ///
   11.35 -  ///\sa True
   11.36 +  // Basic type for defining "tags". A "NO" condition for \c enable_if.
   11.37 +  //
   11.38 +  //\sa True
   11.39    struct False {
   11.40 -    ///\e
   11.41 +    //\e
   11.42      static const bool value = false;
   11.43    };
   11.44  
    12.1 --- a/lemon/bits/graph_extender.h	Thu Oct 09 13:40:40 2008 +0100
    12.2 +++ b/lemon/bits/graph_extender.h	Thu Oct 09 13:54:50 2008 +0100
    12.3 @@ -27,14 +27,14 @@
    12.4  #include <lemon/concept_check.h>
    12.5  #include <lemon/concepts/maps.h>
    12.6  
    12.7 -///\ingroup graphbits
    12.8 -///\file
    12.9 -///\brief Extenders for the digraph types
   12.10 +//\ingroup graphbits
   12.11 +//\file
   12.12 +//\brief Extenders for the digraph types
   12.13  namespace lemon {
   12.14  
   12.15 -  /// \ingroup graphbits
   12.16 -  ///
   12.17 -  /// \brief Extender for the Digraphs
   12.18 +  // \ingroup graphbits
   12.19 +  //
   12.20 +  // \brief Extender for the Digraphs
   12.21    template <typename Base>
   12.22    class DigraphExtender : public Base {
   12.23    public:
   12.24 @@ -186,30 +186,30 @@
   12.25  
   12.26      };
   12.27  
   12.28 -    /// \brief Base node of the iterator
   12.29 -    ///
   12.30 -    /// Returns the base node (i.e. the source in this case) of the iterator
   12.31 +    // \brief Base node of the iterator
   12.32 +    //
   12.33 +    // Returns the base node (i.e. the source in this case) of the iterator
   12.34      Node baseNode(const OutArcIt &arc) const {
   12.35        return Parent::source(arc);
   12.36      }
   12.37 -    /// \brief Running node of the iterator
   12.38 -    ///
   12.39 -    /// Returns the running node (i.e. the target in this case) of the
   12.40 -    /// iterator
   12.41 +    // \brief Running node of the iterator
   12.42 +    //
   12.43 +    // Returns the running node (i.e. the target in this case) of the
   12.44 +    // iterator
   12.45      Node runningNode(const OutArcIt &arc) const {
   12.46        return Parent::target(arc);
   12.47      }
   12.48  
   12.49 -    /// \brief Base node of the iterator
   12.50 -    ///
   12.51 -    /// Returns the base node (i.e. the target in this case) of the iterator
   12.52 +    // \brief Base node of the iterator
   12.53 +    //
   12.54 +    // Returns the base node (i.e. the target in this case) of the iterator
   12.55      Node baseNode(const InArcIt &arc) const {
   12.56        return Parent::target(arc);
   12.57      }
   12.58 -    /// \brief Running node of the iterator
   12.59 -    ///
   12.60 -    /// Returns the running node (i.e. the source in this case) of the
   12.61 -    /// iterator
   12.62 +    // \brief Running node of the iterator
   12.63 +    //
   12.64 +    // Returns the running node (i.e. the source in this case) of the
   12.65 +    // iterator
   12.66      Node runningNode(const InArcIt &arc) const {
   12.67        return Parent::source(arc);
   12.68      }
   12.69 @@ -325,9 +325,9 @@
   12.70      }
   12.71    };
   12.72  
   12.73 -  /// \ingroup _graphbits
   12.74 -  ///
   12.75 -  /// \brief Extender for the Graphs
   12.76 +  // \ingroup _graphbits
   12.77 +  //
   12.78 +  // \brief Extender for the Graphs
   12.79    template <typename Base>
   12.80    class GraphExtender : public Base {
   12.81    public:
   12.82 @@ -555,43 +555,43 @@
   12.83        }
   12.84      };
   12.85  
   12.86 -    /// \brief Base node of the iterator
   12.87 -    ///
   12.88 -    /// Returns the base node (ie. the source in this case) of the iterator
   12.89 +    // \brief Base node of the iterator
   12.90 +    //
   12.91 +    // Returns the base node (ie. the source in this case) of the iterator
   12.92      Node baseNode(const OutArcIt &arc) const {
   12.93        return Parent::source(static_cast<const Arc&>(arc));
   12.94      }
   12.95 -    /// \brief Running node of the iterator
   12.96 -    ///
   12.97 -    /// Returns the running node (ie. the target in this case) of the
   12.98 -    /// iterator
   12.99 +    // \brief Running node of the iterator
  12.100 +    //
  12.101 +    // Returns the running node (ie. the target in this case) of the
  12.102 +    // iterator
  12.103      Node runningNode(const OutArcIt &arc) const {
  12.104        return Parent::target(static_cast<const Arc&>(arc));
  12.105      }
  12.106  
  12.107 -    /// \brief Base node of the iterator
  12.108 -    ///
  12.109 -    /// Returns the base node (ie. the target in this case) of the iterator
  12.110 +    // \brief Base node of the iterator
  12.111 +    //
  12.112 +    // Returns the base node (ie. the target in this case) of the iterator
  12.113      Node baseNode(const InArcIt &arc) const {
  12.114        return Parent::target(static_cast<const Arc&>(arc));
  12.115      }
  12.116 -    /// \brief Running node of the iterator
  12.117 -    ///
  12.118 -    /// Returns the running node (ie. the source in this case) of the
  12.119 -    /// iterator
  12.120 +    // \brief Running node of the iterator
  12.121 +    //
  12.122 +    // Returns the running node (ie. the source in this case) of the
  12.123 +    // iterator
  12.124      Node runningNode(const InArcIt &arc) const {
  12.125        return Parent::source(static_cast<const Arc&>(arc));
  12.126      }
  12.127  
  12.128 -    /// Base node of the iterator
  12.129 -    ///
  12.130 -    /// Returns the base node of the iterator
  12.131 +    // Base node of the iterator
  12.132 +    //
  12.133 +    // Returns the base node of the iterator
  12.134      Node baseNode(const IncEdgeIt &edge) const {
  12.135        return edge._direction ? u(edge) : v(edge);
  12.136      }
  12.137 -    /// Running node of the iterator
  12.138 -    ///
  12.139 -    /// Returns the running node of the iterator
  12.140 +    // Running node of the iterator
  12.141 +    //
  12.142 +    // Returns the running node of the iterator
  12.143      Node runningNode(const IncEdgeIt &edge) const {
  12.144        return edge._direction ? v(edge) : u(edge);
  12.145      }
    13.1 --- a/lemon/bits/map_extender.h	Thu Oct 09 13:40:40 2008 +0100
    13.2 +++ b/lemon/bits/map_extender.h	Thu Oct 09 13:54:50 2008 +0100
    13.3 @@ -26,14 +26,14 @@
    13.4  #include <lemon/concept_check.h>
    13.5  #include <lemon/concepts/maps.h>
    13.6  
    13.7 -///\file
    13.8 -///\brief Extenders for iterable maps.
    13.9 +//\file
   13.10 +//\brief Extenders for iterable maps.
   13.11  
   13.12  namespace lemon {
   13.13  
   13.14 -  /// \ingroup graphbits
   13.15 -  ///
   13.16 -  /// \brief Extender for maps
   13.17 +  // \ingroup graphbits
   13.18 +  //
   13.19 +  // \brief Extender for maps
   13.20    template <typename _Map>
   13.21    class MapExtender : public _Map {
   13.22    public:
   13.23 @@ -171,9 +171,9 @@
   13.24      };
   13.25    };
   13.26  
   13.27 -  /// \ingroup graphbits
   13.28 -  ///
   13.29 -  /// \brief Extender for maps which use a subset of the items.
   13.30 +  // \ingroup graphbits
   13.31 +  //
   13.32 +  // \brief Extender for maps which use a subset of the items.
   13.33    template <typename _Graph, typename _Map>
   13.34    class SubMapExtender : public _Map {
   13.35    public:
    14.1 --- a/lemon/bits/traits.h	Thu Oct 09 13:40:40 2008 +0100
    14.2 +++ b/lemon/bits/traits.h	Thu Oct 09 13:54:50 2008 +0100
    14.3 @@ -19,9 +19,9 @@
    14.4  #ifndef LEMON_BITS_TRAITS_H
    14.5  #define LEMON_BITS_TRAITS_H
    14.6  
    14.7 -///\file
    14.8 -///\brief Traits for graphs and maps
    14.9 -///
   14.10 +//\file
   14.11 +//\brief Traits for graphs and maps
   14.12 +//
   14.13  
   14.14  #include <lemon/bits/enable_if.h>
   14.15  
    15.1 --- a/lemon/bits/vector_map.h	Thu Oct 09 13:40:40 2008 +0100
    15.2 +++ b/lemon/bits/vector_map.h	Thu Oct 09 13:54:50 2008 +0100
    15.3 @@ -28,81 +28,81 @@
    15.4  #include <lemon/concept_check.h>
    15.5  #include <lemon/concepts/maps.h>
    15.6  
    15.7 -///\ingroup graphbits
    15.8 -///
    15.9 -///\file
   15.10 -///\brief Vector based graph maps.
   15.11 +//\ingroup graphbits
   15.12 +//
   15.13 +//\file
   15.14 +//\brief Vector based graph maps.
   15.15  namespace lemon {
   15.16  
   15.17 -  /// \ingroup graphbits
   15.18 -  ///
   15.19 -  /// \brief Graph map based on the std::vector storage.
   15.20 -  ///
   15.21 -  /// The VectorMap template class is graph map structure what
   15.22 -  /// automatically updates the map when a key is added to or erased from
   15.23 -  /// the map. This map type uses the std::vector to store the values.
   15.24 -  ///
   15.25 -  /// \tparam _Graph The graph this map is attached to.
   15.26 -  /// \tparam _Item The item type of the graph items.
   15.27 -  /// \tparam _Value The value type of the map.
   15.28 +  // \ingroup graphbits
   15.29 +  //
   15.30 +  // \brief Graph map based on the std::vector storage.
   15.31 +  //
   15.32 +  // The VectorMap template class is graph map structure what
   15.33 +  // automatically updates the map when a key is added to or erased from
   15.34 +  // the map. This map type uses the std::vector to store the values.
   15.35 +  //
   15.36 +  // \tparam _Graph The graph this map is attached to.
   15.37 +  // \tparam _Item The item type of the graph items.
   15.38 +  // \tparam _Value The value type of the map.
   15.39    template <typename _Graph, typename _Item, typename _Value>
   15.40    class VectorMap
   15.41      : public ItemSetTraits<_Graph, _Item>::ItemNotifier::ObserverBase {
   15.42    private:
   15.43  
   15.44 -    /// The container type of the map.
   15.45 +    // The container type of the map.
   15.46      typedef std::vector<_Value> Container;
   15.47  
   15.48    public:
   15.49  
   15.50 -    /// The graph type of the map.
   15.51 +    // The graph type of the map.
   15.52      typedef _Graph Graph;
   15.53 -    /// The item type of the map.
   15.54 +    // The item type of the map.
   15.55      typedef _Item Item;
   15.56 -    /// The reference map tag.
   15.57 +    // The reference map tag.
   15.58      typedef True ReferenceMapTag;
   15.59  
   15.60 -    /// The key type of the map.
   15.61 +    // The key type of the map.
   15.62      typedef _Item Key;
   15.63 -    /// The value type of the map.
   15.64 +    // The value type of the map.
   15.65      typedef _Value Value;
   15.66  
   15.67 -    /// The notifier type.
   15.68 +    // The notifier type.
   15.69      typedef typename ItemSetTraits<_Graph, _Item>::ItemNotifier Notifier;
   15.70  
   15.71 -    /// The map type.
   15.72 +    // The map type.
   15.73      typedef VectorMap Map;
   15.74 -    /// The base class of the map.
   15.75 +    // The base class of the map.
   15.76      typedef typename Notifier::ObserverBase Parent;
   15.77  
   15.78 -    /// The reference type of the map;
   15.79 +    // The reference type of the map;
   15.80      typedef typename Container::reference Reference;
   15.81 -    /// The const reference type of the map;
   15.82 +    // The const reference type of the map;
   15.83      typedef typename Container::const_reference ConstReference;
   15.84  
   15.85  
   15.86 -    /// \brief Constructor to attach the new map into the notifier.
   15.87 -    ///
   15.88 -    /// It constructs a map and attachs it into the notifier.
   15.89 -    /// It adds all the items of the graph to the map.
   15.90 +    // \brief Constructor to attach the new map into the notifier.
   15.91 +    //
   15.92 +    // It constructs a map and attachs it into the notifier.
   15.93 +    // It adds all the items of the graph to the map.
   15.94      VectorMap(const Graph& graph) {
   15.95        Parent::attach(graph.notifier(Item()));
   15.96        container.resize(Parent::notifier()->maxId() + 1);
   15.97      }
   15.98  
   15.99 -    /// \brief Constructor uses given value to initialize the map.
  15.100 -    ///
  15.101 -    /// It constructs a map uses a given value to initialize the map.
  15.102 -    /// It adds all the items of the graph to the map.
  15.103 +    // \brief Constructor uses given value to initialize the map.
  15.104 +    //
  15.105 +    // It constructs a map uses a given value to initialize the map.
  15.106 +    // It adds all the items of the graph to the map.
  15.107      VectorMap(const Graph& graph, const Value& value) {
  15.108        Parent::attach(graph.notifier(Item()));
  15.109        container.resize(Parent::notifier()->maxId() + 1, value);
  15.110      }
  15.111  
  15.112    private:
  15.113 -    /// \brief Copy constructor
  15.114 -    ///
  15.115 -    /// Copy constructor.
  15.116 +    // \brief Copy constructor
  15.117 +    //
  15.118 +    // Copy constructor.
  15.119      VectorMap(const VectorMap& _copy) : Parent() {
  15.120        if (_copy.attached()) {
  15.121          Parent::attach(*_copy.notifier());
  15.122 @@ -110,24 +110,24 @@
  15.123        }
  15.124      }
  15.125  
  15.126 -    /// \brief Assign operator.
  15.127 -    ///
  15.128 -    /// This operator assigns for each item in the map the
  15.129 -    /// value mapped to the same item in the copied map.
  15.130 -    /// The parameter map should be indiced with the same
  15.131 -    /// itemset because this assign operator does not change
  15.132 -    /// the container of the map.
  15.133 +    // \brief Assign operator.
  15.134 +    //
  15.135 +    // This operator assigns for each item in the map the
  15.136 +    // value mapped to the same item in the copied map.
  15.137 +    // The parameter map should be indiced with the same
  15.138 +    // itemset because this assign operator does not change
  15.139 +    // the container of the map.
  15.140      VectorMap& operator=(const VectorMap& cmap) {
  15.141        return operator=<VectorMap>(cmap);
  15.142      }
  15.143  
  15.144  
  15.145 -    /// \brief Template assign operator.
  15.146 -    ///
  15.147 -    /// The given parameter should be conform to the ReadMap
  15.148 -    /// concecpt and could be indiced by the current item set of
  15.149 -    /// the NodeMap. In this case the value for each item
  15.150 -    /// is assigned by the value of the given ReadMap.
  15.151 +    // \brief Template assign operator.
  15.152 +    //
  15.153 +    // The given parameter should be conform to the ReadMap
  15.154 +    // concecpt and could be indiced by the current item set of
  15.155 +    // the NodeMap. In this case the value for each item
  15.156 +    // is assigned by the value of the given ReadMap.
  15.157      template <typename CMap>
  15.158      VectorMap& operator=(const CMap& cmap) {
  15.159        checkConcept<concepts::ReadMap<Key, _Value>, CMap>();
  15.160 @@ -141,36 +141,36 @@
  15.161  
  15.162    public:
  15.163  
  15.164 -    /// \brief The subcript operator.
  15.165 -    ///
  15.166 -    /// The subscript operator. The map can be subscripted by the
  15.167 -    /// actual items of the graph.
  15.168 +    // \brief The subcript operator.
  15.169 +    //
  15.170 +    // The subscript operator. The map can be subscripted by the
  15.171 +    // actual items of the graph.
  15.172      Reference operator[](const Key& key) {
  15.173        return container[Parent::notifier()->id(key)];
  15.174      }
  15.175  
  15.176 -    /// \brief The const subcript operator.
  15.177 -    ///
  15.178 -    /// The const subscript operator. The map can be subscripted by the
  15.179 -    /// actual items of the graph.
  15.180 +    // \brief The const subcript operator.
  15.181 +    //
  15.182 +    // The const subscript operator. The map can be subscripted by the
  15.183 +    // actual items of the graph.
  15.184      ConstReference operator[](const Key& key) const {
  15.185        return container[Parent::notifier()->id(key)];
  15.186      }
  15.187  
  15.188  
  15.189 -    /// \brief The setter function of the map.
  15.190 -    ///
  15.191 -    /// It the same as operator[](key) = value expression.
  15.192 +    // \brief The setter function of the map.
  15.193 +    //
  15.194 +    // It the same as operator[](key) = value expression.
  15.195      void set(const Key& key, const Value& value) {
  15.196        (*this)[key] = value;
  15.197      }
  15.198  
  15.199    protected:
  15.200  
  15.201 -    /// \brief Adds a new key to the map.
  15.202 -    ///
  15.203 -    /// It adds a new key to the map. It called by the observer notifier
  15.204 -    /// and it overrides the add() member function of the observer base.
  15.205 +    // \brief Adds a new key to the map.
  15.206 +    //
  15.207 +    // It adds a new key to the map. It called by the observer notifier
  15.208 +    // and it overrides the add() member function of the observer base.
  15.209      virtual void add(const Key& key) {
  15.210        int id = Parent::notifier()->id(key);
  15.211        if (id >= int(container.size())) {
  15.212 @@ -178,10 +178,10 @@
  15.213        }
  15.214      }
  15.215  
  15.216 -    /// \brief Adds more new keys to the map.
  15.217 -    ///
  15.218 -    /// It adds more new keys to the map. It called by the observer notifier
  15.219 -    /// and it overrides the add() member function of the observer base.
  15.220 +    // \brief Adds more new keys to the map.
  15.221 +    //
  15.222 +    // It adds more new keys to the map. It called by the observer notifier
  15.223 +    // and it overrides the add() member function of the observer base.
  15.224      virtual void add(const std::vector<Key>& keys) {
  15.225        int max = container.size() - 1;
  15.226        for (int i = 0; i < int(keys.size()); ++i) {
  15.227 @@ -193,38 +193,38 @@
  15.228        container.resize(max + 1);
  15.229      }
  15.230  
  15.231 -    /// \brief Erase a key from the map.
  15.232 -    ///
  15.233 -    /// Erase a key from the map. It called by the observer notifier
  15.234 -    /// and it overrides the erase() member function of the observer base.
  15.235 +    // \brief Erase a key from the map.
  15.236 +    //
  15.237 +    // Erase a key from the map. It called by the observer notifier
  15.238 +    // and it overrides the erase() member function of the observer base.
  15.239      virtual void erase(const Key& key) {
  15.240        container[Parent::notifier()->id(key)] = Value();
  15.241      }
  15.242  
  15.243 -    /// \brief Erase more keys from the map.
  15.244 -    ///
  15.245 -    /// Erase more keys from the map. It called by the observer notifier
  15.246 -    /// and it overrides the erase() member function of the observer base.
  15.247 +    // \brief Erase more keys from the map.
  15.248 +    //
  15.249 +    // Erase more keys from the map. It called by the observer notifier
  15.250 +    // and it overrides the erase() member function of the observer base.
  15.251      virtual void erase(const std::vector<Key>& keys) {
  15.252        for (int i = 0; i < int(keys.size()); ++i) {
  15.253          container[Parent::notifier()->id(keys[i])] = Value();
  15.254        }
  15.255      }
  15.256  
  15.257 -    /// \brief Buildes the map.
  15.258 -    ///
  15.259 -    /// It buildes the map. It called by the observer notifier
  15.260 -    /// and it overrides the build() member function of the observer base.
  15.261 +    // \brief Buildes the map.
  15.262 +    //
  15.263 +    // It buildes the map. It called by the observer notifier
  15.264 +    // and it overrides the build() member function of the observer base.
  15.265      virtual void build() {
  15.266        int size = Parent::notifier()->maxId() + 1;
  15.267        container.reserve(size);
  15.268        container.resize(size);
  15.269      }
  15.270  
  15.271 -    /// \brief Clear the map.
  15.272 -    ///
  15.273 -    /// It erase all items from the map. It called by the observer notifier
  15.274 -    /// and it overrides the clear() member function of the observer base.
  15.275 +    // \brief Clear the map.
  15.276 +    //
  15.277 +    // It erase all items from the map. It called by the observer notifier
  15.278 +    // and it overrides the clear() member function of the observer base.
  15.279      virtual void clear() {
  15.280        container.clear();
  15.281      }
    16.1 --- a/lemon/color.h	Thu Oct 09 13:40:40 2008 +0100
    16.2 +++ b/lemon/color.h	Thu Oct 09 13:54:50 2008 +0100
    16.3 @@ -92,7 +92,7 @@
    16.4    /// Dark cyan color constant
    16.5    extern const Color DARK_CYAN;
    16.6  
    16.7 -  ///Map <tt>int</tt>s to different \ref Color "Color"s
    16.8 +  ///Map <tt>int</tt>s to different <tt>Color</tt>s
    16.9  
   16.10    ///This map assigns one of the predefined \ref Color "Color"s to
   16.11    ///each <tt>int</tt>. It is possible to change the colors as well as
    17.1 --- a/lemon/concepts/graph_components.h	Thu Oct 09 13:40:40 2008 +0100
    17.2 +++ b/lemon/concepts/graph_components.h	Thu Oct 09 13:54:50 2008 +0100
    17.3 @@ -982,7 +982,7 @@
    17.4      /// \brief Class describing the concept of graph maps
    17.5      ///
    17.6      /// This class describes the common interface of the graph maps
    17.7 -    /// (NodeMap, ArcMap), that is \ref maps-page "maps" which can be used to
    17.8 +    /// (NodeMap, ArcMap), that is maps that can be used to
    17.9      /// associate data to graph descriptors (nodes or arcs).
   17.10      template <typename _Graph, typename _Item, typename _Value>
   17.11      class GraphMap : public ReadWriteMap<_Item, _Value> {
    18.1 --- a/lemon/concepts/maps.h	Thu Oct 09 13:40:40 2008 +0100
    18.2 +++ b/lemon/concepts/maps.h	Thu Oct 09 13:54:50 2008 +0100
    18.3 @@ -22,7 +22,7 @@
    18.4  #include <lemon/core.h>
    18.5  #include <lemon/concept_check.h>
    18.6  
    18.7 -///\ingroup concept
    18.8 +///\ingroup map_concepts
    18.9  ///\file
   18.10  ///\brief The concept of maps.
   18.11  
   18.12 @@ -30,7 +30,7 @@
   18.13  
   18.14    namespace concepts {
   18.15  
   18.16 -    /// \addtogroup concept
   18.17 +    /// \addtogroup map_concepts
   18.18      /// @{
   18.19  
   18.20      /// Readable map concept
    19.1 --- a/lemon/core.h	Thu Oct 09 13:40:40 2008 +0100
    19.2 +++ b/lemon/core.h	Thu Oct 09 13:54:50 2008 +0100
    19.3 @@ -1554,7 +1554,7 @@
    19.4      ///\note This is a dynamic data structure, therefore the data
    19.5      ///structure is updated after each graph alteration. Thus although
    19.6      ///this data structure is theoretically faster than \ref ArcLookUp
    19.7 -    ///and \ref AllArcLookup, it often provides worse performance than
    19.8 +    ///and \ref AllArcLookUp, it often provides worse performance than
    19.9      ///them.
   19.10      Arc operator()(Node s, Node t, Arc p = INVALID) const  {
   19.11        if (p == INVALID) {
   19.12 @@ -1699,8 +1699,8 @@
   19.13  
   19.14      ///Find an arc between two nodes.
   19.15  
   19.16 -    ///Find an arc between two nodes in time <em>O</em>(log<em>d</em>), where
   19.17 -    ///<em>d</em> is the number of outgoing arcs of \c s.
   19.18 +    ///Find an arc between two nodes in time <em>O</em>(log<em>d</em>),
   19.19 +    ///where <em>d</em> is the number of outgoing arcs of \c s.
   19.20      ///\param s The source node.
   19.21      ///\param t The target node.
   19.22      ///\return An arc from \c s to \c t if there exists,
   19.23 @@ -1817,8 +1817,8 @@
   19.24      ///for(Arc a = ae(u,v); a != INVALID; a=ae(u,v,a)) n++;
   19.25      ///\endcode
   19.26      ///
   19.27 -    ///Finding the first arc take <em>O</em>(log<em>d</em>) time, where
   19.28 -    ///<em>d</em> is the number of outgoing arcs of \c s. Then, the
   19.29 +    ///Finding the first arc take <em>O</em>(log<em>d</em>) time,
   19.30 +    ///where <em>d</em> is the number of outgoing arcs of \c s. Then the
   19.31      ///consecutive arcs are found in constant time.
   19.32      ///
   19.33      ///\warning If you change the digraph, refresh() must be called before using
    20.1 --- a/lemon/dfs.h	Thu Oct 09 13:40:40 2008 +0100
    20.2 +++ b/lemon/dfs.h	Thu Oct 09 13:54:50 2008 +0100
    20.3 @@ -835,7 +835,7 @@
    20.4      typedef lemon::Path<Digraph> Path;
    20.5    };
    20.6  
    20.7 -  /// Default traits class used by \ref DfsWizard
    20.8 +  /// Default traits class used by DfsWizard
    20.9  
   20.10    /// To make it easier to use Dfs algorithm
   20.11    /// we have created a wizard class.
    21.1 --- a/lemon/dijkstra.h	Thu Oct 09 13:40:40 2008 +0100
    21.2 +++ b/lemon/dijkstra.h	Thu Oct 09 13:54:50 2008 +0100
    21.3 @@ -453,7 +453,7 @@
    21.4      };
    21.5  
    21.6      /// \brief \ref named-templ-param "Named parameter" for setting
    21.7 -    ///\ref OperationTraits type
    21.8 +    ///\c OperationTraits type
    21.9      ///
   21.10      ///\ref named-templ-param "Named parameter" for setting
   21.11      ///\ref OperationTraits type.
   21.12 @@ -1038,7 +1038,7 @@
   21.13      typedef lemon::Path<Digraph> Path;
   21.14    };
   21.15  
   21.16 -  /// Default traits class used by \ref DijkstraWizard
   21.17 +  /// Default traits class used by DijkstraWizard
   21.18  
   21.19    /// To make it easier to use Dijkstra algorithm
   21.20    /// we have created a wizard class.
    22.1 --- a/lemon/dim2.h	Thu Oct 09 13:40:40 2008 +0100
    22.2 +++ b/lemon/dim2.h	Thu Oct 09 13:54:50 2008 +0100
    22.3 @@ -259,10 +259,10 @@
    22.4  
    22.5  
    22.6  
    22.7 -  /// Bounding box of plain vectors (\ref Point points).
    22.8 +  /// Bounding box of plain vectors (points).
    22.9  
   22.10    /// A class to calculate or store the bounding box of plain vectors
   22.11 -  /// (\ref Point points).
   22.12 +  /// (\ref Point "points").
   22.13    template<typename T>
   22.14    class Box {
   22.15        Point<T> _bottom_left, _top_right;
   22.16 @@ -573,9 +573,8 @@
   22.17      return os;
   22.18    }
   22.19  
   22.20 -  ///Map of x-coordinates of a \ref Point "Point"-map
   22.21 +  ///Map of x-coordinates of a <tt>Point</tt>-map
   22.22  
   22.23 -  ///\ingroup maps
   22.24    ///Map of x-coordinates of a \ref Point "Point"-map.
   22.25    ///
   22.26    template<class M>
   22.27 @@ -592,11 +591,9 @@
   22.28      void set(Key k,Value v) {_map.set(k,typename M::Value(v,_map[k].y));}
   22.29    };
   22.30  
   22.31 -  ///Returns an \ref XMap class
   22.32 +  ///Returns an XMap class
   22.33  
   22.34 -  ///This function just returns an \ref XMap class.
   22.35 -  ///
   22.36 -  ///\ingroup maps
   22.37 +  ///This function just returns an XMap class.
   22.38    ///\relates XMap
   22.39    template<class M>
   22.40    inline XMap<M> xMap(M &m)
   22.41 @@ -610,10 +607,9 @@
   22.42      return XMap<M>(m);
   22.43    }
   22.44  
   22.45 -  ///Constant (read only) version of \ref XMap
   22.46 +  ///Constant (read only) version of XMap
   22.47  
   22.48 -  ///\ingroup maps
   22.49 -  ///Constant (read only) version of \ref XMap
   22.50 +  ///Constant (read only) version of XMap.
   22.51    ///
   22.52    template<class M>
   22.53    class ConstXMap
   22.54 @@ -628,11 +624,9 @@
   22.55      Value operator[](Key k) const {return _map[k].x;}
   22.56    };
   22.57  
   22.58 -  ///Returns a \ref ConstXMap class
   22.59 +  ///Returns a ConstXMap class
   22.60  
   22.61 -  ///This function just returns a \ref ConstXMap class.
   22.62 -  ///
   22.63 -  ///\ingroup maps
   22.64 +  ///This function just returns a ConstXMap class.
   22.65    ///\relates ConstXMap
   22.66    template<class M>
   22.67    inline ConstXMap<M> xMap(const M &m)
   22.68 @@ -640,9 +634,8 @@
   22.69      return ConstXMap<M>(m);
   22.70    }
   22.71  
   22.72 -  ///Map of y-coordinates of a \ref Point "Point"-map
   22.73 +  ///Map of y-coordinates of a <tt>Point</tt>-map
   22.74  
   22.75 -  ///\ingroup maps
   22.76    ///Map of y-coordinates of a \ref Point "Point"-map.
   22.77    ///
   22.78    template<class M>
   22.79 @@ -659,11 +652,9 @@
   22.80      void set(Key k,Value v) {_map.set(k,typename M::Value(_map[k].x,v));}
   22.81    };
   22.82  
   22.83 -  ///Returns a \ref YMap class
   22.84 +  ///Returns a YMap class
   22.85  
   22.86 -  ///This function just returns a \ref YMap class.
   22.87 -  ///
   22.88 -  ///\ingroup maps
   22.89 +  ///This function just returns a YMap class.
   22.90    ///\relates YMap
   22.91    template<class M>
   22.92    inline YMap<M> yMap(M &m)
   22.93 @@ -677,10 +668,9 @@
   22.94      return YMap<M>(m);
   22.95    }
   22.96  
   22.97 -  ///Constant (read only) version of \ref YMap
   22.98 +  ///Constant (read only) version of YMap
   22.99  
  22.100 -  ///\ingroup maps
  22.101 -  ///Constant (read only) version of \ref YMap
  22.102 +  ///Constant (read only) version of YMap.
  22.103    ///
  22.104    template<class M>
  22.105    class ConstYMap
  22.106 @@ -695,11 +685,9 @@
  22.107      Value operator[](Key k) const {return _map[k].y;}
  22.108    };
  22.109  
  22.110 -  ///Returns a \ref ConstYMap class
  22.111 +  ///Returns a ConstYMap class
  22.112  
  22.113 -  ///This function just returns a \ref ConstYMap class.
  22.114 -  ///
  22.115 -  ///\ingroup maps
  22.116 +  ///This function just returns a ConstYMap class.
  22.117    ///\relates ConstYMap
  22.118    template<class M>
  22.119    inline ConstYMap<M> yMap(const M &m)
  22.120 @@ -708,12 +696,10 @@
  22.121    }
  22.122  
  22.123  
  22.124 -  ///\brief Map of the \ref Point::normSquare() "normSquare()"
  22.125 -  ///of a \ref Point "Point"-map
  22.126 +  ///\brief Map of the normSquare() of a <tt>Point</tt>-map
  22.127    ///
  22.128    ///Map of the \ref Point::normSquare() "normSquare()"
  22.129    ///of a \ref Point "Point"-map.
  22.130 -  ///\ingroup maps
  22.131    template<class M>
  22.132    class NormSquareMap
  22.133    {
  22.134 @@ -727,11 +713,9 @@
  22.135      Value operator[](Key k) const {return _map[k].normSquare();}
  22.136    };
  22.137  
  22.138 -  ///Returns a \ref NormSquareMap class
  22.139 +  ///Returns a NormSquareMap class
  22.140  
  22.141 -  ///This function just returns a \ref NormSquareMap class.
  22.142 -  ///
  22.143 -  ///\ingroup maps
  22.144 +  ///This function just returns a NormSquareMap class.
  22.145    ///\relates NormSquareMap
  22.146    template<class M>
  22.147    inline NormSquareMap<M> normSquareMap(const M &m)
    23.1 --- a/lemon/graph_to_eps.h	Thu Oct 09 13:40:40 2008 +0100
    23.2 +++ b/lemon/graph_to_eps.h	Thu Oct 09 13:54:50 2008 +0100
    23.3 @@ -62,7 +62,7 @@
    23.4      };
    23.5    }
    23.6  
    23.7 -///Default traits class of \ref GraphToEps
    23.8 +///Default traits class of GraphToEps
    23.9  
   23.10  ///Default traits class of \ref GraphToEps.
   23.11  ///
    24.1 --- a/lemon/list_graph.h	Thu Oct 09 13:40:40 2008 +0100
    24.2 +++ b/lemon/list_graph.h	Thu Oct 09 13:54:50 2008 +0100
    24.3 @@ -413,7 +413,7 @@
    24.4      /// Change the source of \c a to \c n
    24.5      ///
    24.6      ///\note The <tt>InArcIt</tt>s referencing the changed arc remain
    24.7 -    ///valid. However the <tt>ArcIt<tt>s and <tt>OutArcIt</tt>s are
    24.8 +    ///valid. However the <tt>ArcIt</tt>s and <tt>OutArcIt</tt>s are
    24.9      ///invalidated.
   24.10      ///
   24.11      ///\warning This functionality cannot be used together with the Snapshot
    25.1 --- a/lemon/maps.h	Thu Oct 09 13:40:40 2008 +0100
    25.2 +++ b/lemon/maps.h	Thu Oct 09 13:54:50 2008 +0100
    25.3 @@ -43,7 +43,7 @@
    25.4    template<typename K, typename V>
    25.5    class MapBase {
    25.6    public:
    25.7 -    /// \biref The key type of the map.
    25.8 +    /// \brief The key type of the map.
    25.9      typedef K Key;
   25.10      /// \brief The value type of the map.
   25.11      /// (The type of objects associated with the keys).
   25.12 @@ -1683,6 +1683,11 @@
   25.13  
   25.14    }
   25.15  
   25.16 +  /// @}
   25.17 +
   25.18 +  /// \addtogroup maps
   25.19 +  /// @{
   25.20 +
   25.21    /// \brief Writable bool map for logging each \c true assigned element
   25.22    ///
   25.23    /// A \ref concepts::WriteMap "writable" bool map for logging
   25.24 @@ -1775,6 +1780,11 @@
   25.25      return LoggerBoolMap<Iterator>(it);
   25.26    }
   25.27  
   25.28 +  /// @}
   25.29 +
   25.30 +  /// \addtogroup graph_maps
   25.31 +  /// @{
   25.32 +
   25.33    /// Provides an immutable and unique id for each item in the graph.
   25.34  
   25.35    /// The IdMap class provides a unique and immutable id for each item of the
   25.36 @@ -1882,8 +1892,6 @@
   25.37      /// The value type of the InvertableMap.
   25.38      typedef typename Map::Value Value;
   25.39  
   25.40 -
   25.41 -
   25.42      /// \brief Constructor.
   25.43      ///
   25.44      /// Construct a new InvertableMap for the graph.
   25.45 @@ -2049,8 +2057,6 @@
   25.46        return InverseMap(*this);
   25.47      }
   25.48  
   25.49 -
   25.50 -
   25.51    };
   25.52  
   25.53    /// \brief Provides a mutable, continuous and unique descriptor for each
   25.54 @@ -2266,7 +2272,7 @@
   25.55      /// \brief Constructor
   25.56      ///
   25.57      /// Constructor
   25.58 -    /// \param _digraph The digraph that the map belongs to.
   25.59 +    /// \param digraph The digraph that the map belongs to.
   25.60      explicit SourceMap(const Digraph& digraph) : _digraph(digraph) {}
   25.61  
   25.62      /// \brief The subscript operator.
   25.63 @@ -2305,7 +2311,7 @@
   25.64      /// \brief Constructor
   25.65      ///
   25.66      /// Constructor
   25.67 -    /// \param _digraph The digraph that the map belongs to.
   25.68 +    /// \param digraph The digraph that the map belongs to.
   25.69      explicit TargetMap(const Digraph& digraph) : _digraph(digraph) {}
   25.70  
   25.71      /// \brief The subscript operator.
   25.72 @@ -2344,7 +2350,7 @@
   25.73      /// \brief Constructor
   25.74      ///
   25.75      /// Constructor
   25.76 -    /// \param _graph The graph that the map belongs to.
   25.77 +    /// \param graph The graph that the map belongs to.
   25.78      explicit ForwardMap(const Graph& graph) : _graph(graph) {}
   25.79  
   25.80      /// \brief The subscript operator.
   25.81 @@ -2383,7 +2389,7 @@
   25.82      /// \brief Constructor
   25.83      ///
   25.84      /// Constructor
   25.85 -    /// \param _graph The graph that the map belongs to.
   25.86 +    /// \param graph The graph that the map belongs to.
   25.87      explicit BackwardMap(const Graph& graph) : _graph(graph) {}
   25.88  
   25.89      /// \brief The subscript operator.
    26.1 --- a/lemon/path.h	Thu Oct 09 13:40:40 2008 +0100
    26.2 +++ b/lemon/path.h	Thu Oct 09 13:54:50 2008 +0100
    26.3 @@ -849,7 +849,7 @@
    26.4      /// \brief Return true when the path is empty.
    26.5      int empty() const { return len == 0; }
    26.6  
    26.7 -    /// \break Erase all arcs in the digraph.
    26.8 +    /// \brief Erase all arcs in the digraph.
    26.9      void clear() {
   26.10        len = 0;
   26.11        if (arcs) delete[] arcs;
    27.1 --- a/lemon/smart_graph.h	Thu Oct 09 13:40:40 2008 +0100
    27.2 +++ b/lemon/smart_graph.h	Thu Oct 09 13:54:50 2008 +0100
    27.3 @@ -365,7 +365,7 @@
    27.4        ///Constructor that immediately makes a snapshot
    27.5  
    27.6        ///This constructor immediately makes a snapshot of the digraph.
    27.7 -      ///\param _g The digraph we make a snapshot of.
    27.8 +      ///\param graph The digraph we make a snapshot of.
    27.9        Snapshot(SmartDigraph &graph) : _graph(&graph) {
   27.10          node_num=_graph->nodes.size();
   27.11          arc_num=_graph->arcs.size();
   27.12 @@ -377,7 +377,7 @@
   27.13        ///
   27.14        ///This function can be called more than once. In case of a repeated
   27.15        ///call, the previous snapshot gets lost.
   27.16 -      ///\param _g The digraph we make the snapshot of.
   27.17 +      ///\param graph The digraph we make the snapshot of.
   27.18        void save(SmartDigraph &graph)
   27.19        {
   27.20          _graph=&graph;
   27.21 @@ -775,7 +775,7 @@
   27.22        ///Constructor that immediately makes a snapshot
   27.23  
   27.24        ///This constructor immediately makes a snapshot of the digraph.
   27.25 -      ///\param g The digraph we make a snapshot of.
   27.26 +      ///\param graph The digraph we make a snapshot of.
   27.27        Snapshot(SmartGraph &graph) {
   27.28          graph.saveSnapshot(*this);
   27.29        }
   27.30 @@ -786,7 +786,7 @@
   27.31        ///
   27.32        ///This function can be called more than once. In case of a repeated
   27.33        ///call, the previous snapshot gets lost.
   27.34 -      ///\param g The digraph we make the snapshot of.
   27.35 +      ///\param graph The digraph we make the snapshot of.
   27.36        void save(SmartGraph &graph)
   27.37        {
   27.38          graph.saveSnapshot(*this);
    28.1 --- a/lemon/time_measure.h	Thu Oct 09 13:40:40 2008 +0100
    28.2 +++ b/lemon/time_measure.h	Thu Oct 09 13:54:50 2008 +0100
    28.3 @@ -311,12 +311,11 @@
    28.4      ///\name Control the state of the timer
    28.5      ///Basically a Timer can be either running or stopped,
    28.6      ///but it provides a bit finer control on the execution.
    28.7 -    ///The \ref Timer also counts the number of \ref start()
    28.8 -    ///executions, and is stops only after the same amount (or more)
    28.9 -    ///\ref stop() "stop()"s. This can be useful e.g. to compute
   28.10 -    ///the running time
   28.11 +    ///The \ref lemon::Timer "Timer" also counts the number of
   28.12 +    ///\ref lemon::Timer::start() "start()" executions, and it stops
   28.13 +    ///only after the same amount (or more) \ref lemon::Timer::stop()
   28.14 +    ///"stop()"s. This can be useful e.g. to compute the running time
   28.15      ///of recursive functions.
   28.16 -    ///
   28.17  
   28.18      ///@{
   28.19  
   28.20 @@ -472,7 +471,7 @@
   28.21      ///@}
   28.22    };
   28.23  
   28.24 -  ///Same as \ref Timer but prints a report on destruction.
   28.25 +  ///Same as Timer but prints a report on destruction.
   28.26  
   28.27    ///Same as \ref Timer but prints a report on destruction.
   28.28    ///This example shows its usage.
   28.29 @@ -491,22 +490,22 @@
   28.30      std::string _title;
   28.31      std::ostream &_os;
   28.32    public:
   28.33 -    ///\e
   28.34 +    ///Constructor
   28.35  
   28.36 +    ///Constructor.
   28.37      ///\param title This text will be printed before the ellapsed time.
   28.38      ///\param os The stream to print the report to.
   28.39      ///\param run Sets whether the timer should start immediately.
   28.40 -
   28.41      TimeReport(std::string title,std::ostream &os=std::cerr,bool run=true)
   28.42        : Timer(run), _title(title), _os(os){}
   28.43 -    ///\e Prints the ellapsed time on destruction.
   28.44 +    ///Destructor that prints the ellapsed time
   28.45      ~TimeReport()
   28.46      {
   28.47        _os << _title << *this << std::endl;
   28.48      }
   28.49    };
   28.50  
   28.51 -  ///'Do nothing' version of \ref TimeReport
   28.52 +  ///'Do nothing' version of TimeReport
   28.53  
   28.54    ///\sa TimeReport
   28.55    ///