Merge
authorAlpar Juttner <alpar@cs.elte.hu>
Thu, 09 Oct 2008 16:20:37 +0100
changeset 317a0ab96ad65fe
parent 316 689f24ee83e6
parent 315 c175e387da19
child 318 1e2d6ca80793
Merge
benchmark/Makefile.am
doc/Makefile.am
     1.1 --- a/Makefile.am	Thu Oct 09 16:47:01 2008 +0200
     1.2 +++ b/Makefile.am	Thu Oct 09 16:20:37 2008 +0100
     1.3 @@ -24,6 +24,7 @@
     1.4  noinst_PROGRAMS =
     1.5  bin_PROGRAMS =
     1.6  check_PROGRAMS =
     1.7 +dist_bin_SCRIPTS =
     1.8  TESTS =
     1.9  XFAIL_TESTS =
    1.10  
    1.11 @@ -31,7 +32,6 @@
    1.12  include test/Makefile.am
    1.13  include doc/Makefile.am
    1.14  include demo/Makefile.am
    1.15 -include benchmark/Makefile.am
    1.16  include tools/Makefile.am
    1.17  
    1.18  MRPROPERFILES = \
     2.1 --- a/README	Thu Oct 09 16:47:01 2008 +0200
     2.2 +++ b/README	Thu Oct 09 16:20:37 2008 +0100
     2.3 @@ -37,10 +37,6 @@
     2.4  
     2.5     Contains programs to check the integrity and correctness of LEMON.
     2.6  
     2.7 -benchmark/
     2.8 -  
     2.9 -   Contains programs for measuring the performance of algorithms.
    2.10 -
    2.11  tools/
    2.12  
    2.13     Various utilities related to LEMON.
     3.1 --- a/benchmark/Makefile.am	Thu Oct 09 16:47:01 2008 +0200
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,7 +0,0 @@
     3.4 -if WANT_BENCHMARK
     3.5 -
     3.6 -noinst_HEADERS +=
     3.7 -
     3.8 -noinst_PROGRAMS +=
     3.9 -
    3.10 -endif WANT_BENCHMARK
     4.1 --- a/configure.ac	Thu Oct 09 16:47:01 2008 +0200
     4.2 +++ b/configure.ac	Thu Oct 09 16:20:37 2008 +0100
     4.3 @@ -81,19 +81,6 @@
     4.4  fi
     4.5  AM_CONDITIONAL([WANT_TOOLS], [test x"$enable_tools" != x"no"])
     4.6  
     4.7 -dnl Disable/enable building the benchmarks.
     4.8 -AC_ARG_ENABLE([benchmark],
     4.9 -AS_HELP_STRING([--enable-benchmark], [build the benchmarks])
    4.10 -AS_HELP_STRING([--disable-benchmark], [do not build the benchmarks @<:@default@:>@]),
    4.11 -              [], [enable_benchmark=no])
    4.12 -AC_MSG_CHECKING([whether to build the benchmarks])
    4.13 -if test x"$enable_benchmark" != x"no"; then
    4.14 -  AC_MSG_RESULT([yes])
    4.15 -else
    4.16 -  AC_MSG_RESULT([no])
    4.17 -fi
    4.18 -AM_CONDITIONAL([WANT_BENCHMARK], [test x"$enable_benchmark" != x"no"])
    4.19 -
    4.20  dnl Checks for header files.
    4.21  AC_CHECK_HEADERS(limits.h sys/time.h sys/times.h unistd.h)
    4.22  
    4.23 @@ -132,7 +119,6 @@
    4.24  #echo CPLEX support................. : $lx_cplex_found
    4.25  #echo SOPLEX support................ : $lx_soplex_found
    4.26  #echo
    4.27 -echo Build benchmarks.............. : $enable_benchmark
    4.28  echo Build demo programs........... : $enable_demo
    4.29  echo Build additional tools........ : $enable_tools
    4.30  echo
     5.1 --- a/demo/arg_parser_demo.cc	Thu Oct 09 16:47:01 2008 +0200
     5.2 +++ b/demo/arg_parser_demo.cc	Thu Oct 09 16:20:37 2008 +0100
     5.3 @@ -27,7 +27,7 @@
     5.4  #include <lemon/arg_parser.h>
     5.5  
     5.6  using namespace lemon;
     5.7 -int main(int argc, const char **argv)
     5.8 +int main(int argc, char **argv)
     5.9  {
    5.10    // Initialize the argument parser
    5.11    ArgParser ap(argc, argv);
     6.1 --- a/demo/graph_to_eps_demo.cc	Thu Oct 09 16:47:01 2008 +0200
     6.2 +++ b/demo/graph_to_eps_demo.cc	Thu Oct 09 16:20:37 2008 +0100
     6.3 @@ -26,7 +26,7 @@
     6.4  /// graphToEps(), and showing how to draw directed graphs,
     6.5  /// how to handle parallel egdes, how to change the properties (like
     6.6  /// color, shape, size, title etc.) of nodes and arcs individually
     6.7 -/// using appropriate \ref maps-page "graph maps".
     6.8 +/// using appropriate graph maps.
     6.9  ///
    6.10  /// \include graph_to_eps_demo.cc
    6.11  
     7.1 --- a/doc/Makefile.am	Thu Oct 09 16:47:01 2008 +0200
     7.2 +++ b/doc/Makefile.am	Thu Oct 09 16:20:37 2008 +0100
     7.3 @@ -7,6 +7,7 @@
     7.4  	doc/lgf.dox \
     7.5  	doc/license.dox \
     7.6  	doc/mainpage.dox \
     7.7 +	doc/migration.dox \
     7.8  	doc/named-param.dox \
     7.9  	doc/namespaces.dox \
    7.10  	doc/html \
     8.1 --- a/doc/groups.dox	Thu Oct 09 16:47:01 2008 +0200
     8.2 +++ b/doc/groups.dox	Thu Oct 09 16:20:37 2008 +0100
     8.3 @@ -54,7 +54,9 @@
     8.4  
     8.5  You are free to use the graph structure that fit your requirements
     8.6  the best, most graph algorithms and auxiliary data structures can be used
     8.7 -with any graph structures.
     8.8 +with any graph structure.
     8.9 +
    8.10 +<b>See also:</b> \ref graph_concepts "Graph Structure Concepts".
    8.11  */
    8.12  
    8.13  /**
    8.14 @@ -74,8 +76,10 @@
    8.15  
    8.16  This group describes the map structures implemented in LEMON.
    8.17  
    8.18 -LEMON provides several special purpose maps that e.g. combine
    8.19 +LEMON provides several special purpose maps and map adaptors that e.g. combine
    8.20  new maps from existing ones.
    8.21 +
    8.22 +<b>See also:</b> \ref map_concepts "Map Concepts".
    8.23  */
    8.24  
    8.25  /**
    8.26 @@ -87,7 +91,6 @@
    8.27  values to the nodes and arcs of graphs.
    8.28  */
    8.29  
    8.30 -
    8.31  /**
    8.32  \defgroup map_adaptors Map Adaptors
    8.33  \ingroup maps
    8.34 @@ -104,7 +107,7 @@
    8.35  The typical usage of this classes is passing implicit maps to
    8.36  algorithms.  If a function type algorithm is called then the function
    8.37  type map adaptors can be used comfortable. For example let's see the
    8.38 -usage of map adaptors with the \c digraphToEps() function.
    8.39 +usage of map adaptors with the \c graphToEps() function.
    8.40  \code
    8.41    Color nodeColor(int deg) {
    8.42      if (deg >= 2) {
    8.43 @@ -118,13 +121,13 @@
    8.44  
    8.45    Digraph::NodeMap<int> degree_map(graph);
    8.46  
    8.47 -  digraphToEps(graph, "graph.eps")
    8.48 +  graphToEps(graph, "graph.eps")
    8.49      .coords(coords).scaleToA4().undirected()
    8.50      .nodeColors(composeMap(functorToMap(nodeColor), degree_map))
    8.51      .run();
    8.52  \endcode
    8.53  The \c functorToMap() function makes an \c int to \c Color map from the
    8.54 -\e nodeColor() function. The \c composeMap() compose the \e degree_map
    8.55 +\c nodeColor() function. The \c composeMap() compose the \c degree_map
    8.56  and the previously created map. The composed map is a proper function to
    8.57  get the color of each node.
    8.58  
    8.59 @@ -173,7 +176,6 @@
    8.60  any kind of path structure.
    8.61  
    8.62  \sa lemon::concepts::Path
    8.63 -
    8.64  */
    8.65  
    8.66  /**
    8.67 @@ -185,7 +187,6 @@
    8.68  order to make it easier to implement combinatorial algorithms.
    8.69  */
    8.70  
    8.71 -
    8.72  /**
    8.73  @defgroup algs Algorithms
    8.74  \brief This group describes the several algorithms
    8.75 @@ -201,11 +202,11 @@
    8.76  \brief Common graph search algorithms.
    8.77  
    8.78  This group describes the common graph search algorithms like
    8.79 -Breadth-first search (Bfs) and Depth-first search (Dfs).
    8.80 +Breadth-First Search (BFS) and Depth-First Search (DFS).
    8.81  */
    8.82  
    8.83  /**
    8.84 -@defgroup shortest_path Shortest Path algorithms
    8.85 +@defgroup shortest_path Shortest Path Algorithms
    8.86  @ingroup algs
    8.87  \brief Algorithms for finding shortest paths.
    8.88  
    8.89 @@ -213,7 +214,7 @@
    8.90  */
    8.91  
    8.92  /**
    8.93 -@defgroup max_flow Maximum Flow algorithms
    8.94 +@defgroup max_flow Maximum Flow Algorithms
    8.95  @ingroup algs
    8.96  \brief Algorithms for finding maximum flows.
    8.97  
    8.98 @@ -241,11 +242,10 @@
    8.99  fastest method to compute the maximum flow. All impelementations
   8.100  provides functions to query the minimum cut, which is the dual linear
   8.101  programming problem of the maximum flow.
   8.102 -
   8.103  */
   8.104  
   8.105  /**
   8.106 -@defgroup min_cost_flow Minimum Cost Flow algorithms
   8.107 +@defgroup min_cost_flow Minimum Cost Flow Algorithms
   8.108  @ingroup algs
   8.109  
   8.110  \brief Algorithms for finding minimum cost flows and circulations.
   8.111 @@ -255,7 +255,7 @@
   8.112  */
   8.113  
   8.114  /**
   8.115 -@defgroup min_cut Minimum Cut algorithms
   8.116 +@defgroup min_cut Minimum Cut Algorithms
   8.117  @ingroup algs
   8.118  
   8.119  \brief Algorithms for finding minimum cut in graphs.
   8.120 @@ -282,11 +282,10 @@
   8.121  
   8.122  If you want to find minimum cut just between two distinict nodes,
   8.123  please see the \ref max_flow "Maximum Flow page".
   8.124 -
   8.125  */
   8.126  
   8.127  /**
   8.128 -@defgroup graph_prop Connectivity and other graph properties
   8.129 +@defgroup graph_prop Connectivity and Other Graph Properties
   8.130  @ingroup algs
   8.131  \brief Algorithms for discovering the graph properties
   8.132  
   8.133 @@ -298,7 +297,7 @@
   8.134  */
   8.135  
   8.136  /**
   8.137 -@defgroup planar Planarity embedding and drawing
   8.138 +@defgroup planar Planarity Embedding and Drawing
   8.139  @ingroup algs
   8.140  \brief Algorithms for planarity checking, embedding and drawing
   8.141  
   8.142 @@ -310,7 +309,7 @@
   8.143  */
   8.144  
   8.145  /**
   8.146 -@defgroup matching Matching algorithms
   8.147 +@defgroup matching Matching Algorithms
   8.148  @ingroup algs
   8.149  \brief Algorithms for finding matchings in graphs and bipartite graphs.
   8.150  
   8.151 @@ -348,11 +347,10 @@
   8.152  
   8.153  \image html bipartite_matching.png
   8.154  \image latex bipartite_matching.eps "Bipartite Matching" width=\textwidth
   8.155 -
   8.156  */
   8.157  
   8.158  /**
   8.159 -@defgroup spantree Minimum Spanning Tree algorithms
   8.160 +@defgroup spantree Minimum Spanning Tree Algorithms
   8.161  @ingroup algs
   8.162  \brief Algorithms for finding a minimum cost spanning tree in a graph.
   8.163  
   8.164 @@ -360,9 +358,8 @@
   8.165  tree in a graph
   8.166  */
   8.167  
   8.168 -
   8.169  /**
   8.170 -@defgroup auxalg Auxiliary algorithms
   8.171 +@defgroup auxalg Auxiliary Algorithms
   8.172  @ingroup algs
   8.173  \brief Auxiliary algorithms implemented in LEMON.
   8.174  
   8.175 @@ -371,7 +368,8 @@
   8.176  */
   8.177  
   8.178  /**
   8.179 -@defgroup approx Approximation algorithms
   8.180 +@defgroup approx Approximation Algorithms
   8.181 +@ingroup algs
   8.182  \brief Approximation algorithms.
   8.183  
   8.184  This group describes the approximation and heuristic algorithms
   8.185 @@ -385,22 +383,20 @@
   8.186  
   8.187  This group describes some general optimization frameworks
   8.188  implemented in LEMON.
   8.189 -
   8.190  */
   8.191  
   8.192  /**
   8.193 -@defgroup lp_group Lp and Mip solvers
   8.194 +@defgroup lp_group Lp and Mip Solvers
   8.195  @ingroup gen_opt_group
   8.196  \brief Lp and Mip solver interfaces for LEMON.
   8.197  
   8.198  This group describes Lp and Mip solver interfaces for LEMON. The
   8.199  various LP solvers could be used in the same manner with this
   8.200  interface.
   8.201 -
   8.202  */
   8.203  
   8.204  /**
   8.205 -@defgroup lp_utils Tools for Lp and Mip solvers
   8.206 +@defgroup lp_utils Tools for Lp and Mip Solvers
   8.207  @ingroup lp_group
   8.208  \brief Helper tools to the Lp and Mip solvers.
   8.209  
   8.210 @@ -441,7 +437,7 @@
   8.211  */
   8.212  
   8.213  /**
   8.214 -@defgroup timecount Time measuring and Counting
   8.215 +@defgroup timecount Time Measuring and Counting
   8.216  @ingroup misc
   8.217  \brief Simple tools for measuring the performance of algorithms.
   8.218  
   8.219 @@ -450,15 +446,6 @@
   8.220  */
   8.221  
   8.222  /**
   8.223 -@defgroup graphbits Tools for Graph Implementation
   8.224 -@ingroup utils
   8.225 -\brief Tools to make it easier to create graphs.
   8.226 -
   8.227 -This group describes the tools that makes it easier to create graphs and
   8.228 -the maps that dynamically update with the graph changes.
   8.229 -*/
   8.230 -
   8.231 -/**
   8.232  @defgroup exceptions Exceptions
   8.233  @ingroup utils
   8.234  \brief Exceptions defined in LEMON.
   8.235 @@ -471,21 +458,22 @@
   8.236  \brief Graph Input-Output methods
   8.237  
   8.238  This group describes the tools for importing and exporting graphs
   8.239 -and graph related data. Now it supports the LEMON format, the
   8.240 -\c DIMACS format and the encapsulated postscript (EPS) format.
   8.241 +and graph related data. Now it supports the \ref lgf-format
   8.242 +"LEMON Graph Format", the \c DIMACS format and the encapsulated
   8.243 +postscript (EPS) format.
   8.244  */
   8.245  
   8.246  /**
   8.247  @defgroup lemon_io LEMON Input-Output
   8.248  @ingroup io_group
   8.249 -\brief Reading and writing \ref lgf-format "LEMON Graph Format".
   8.250 +\brief Reading and writing LEMON Graph Format.
   8.251  
   8.252  This group describes methods for reading and writing
   8.253  \ref lgf-format "LEMON Graph Format".
   8.254  */
   8.255  
   8.256  /**
   8.257 -@defgroup eps_io Postscript exporting
   8.258 +@defgroup eps_io Postscript Exporting
   8.259  @ingroup io_group
   8.260  \brief General \c EPS drawer and graph exporter
   8.261  
   8.262 @@ -493,7 +481,6 @@
   8.263  graph exporting tools.
   8.264  */
   8.265  
   8.266 -
   8.267  /**
   8.268  @defgroup concept Concepts
   8.269  \brief Skeleton classes and concept checking classes
   8.270 @@ -521,10 +508,8 @@
   8.271    concept indeed provides all the required features.
   8.272  
   8.273  - Finally, They can serve as a skeleton of a new implementation of a concept.
   8.274 -
   8.275  */
   8.276  
   8.277 -
   8.278  /**
   8.279  @defgroup graph_concepts Graph Structure Concepts
   8.280  @ingroup concept
   8.281 @@ -534,10 +519,12 @@
   8.282  graph structures and helper classes used to implement these.
   8.283  */
   8.284  
   8.285 -/* --- Unused group
   8.286 -@defgroup experimental Experimental Structures and Algorithms
   8.287 -This group describes some Experimental structures and algorithms.
   8.288 -The stuff here is subject to change.
   8.289 +/**
   8.290 +@defgroup map_concepts Map Concepts
   8.291 +@ingroup concept
   8.292 +\brief Skeleton and concept checking classes for maps
   8.293 +
   8.294 +This group describes the skeletons and concept checking classes of maps.
   8.295  */
   8.296  
   8.297  /**
     9.1 --- a/doc/lgf.dox	Thu Oct 09 16:47:01 2008 +0200
     9.2 +++ b/doc/lgf.dox	Thu Oct 09 16:20:37 2008 +0100
     9.3 @@ -78,7 +78,7 @@
     9.4   2   3   18
     9.5  \endcode
     9.6  
     9.7 -The \c \@edges is just a synonym of \c \@arcs. The @arcs section can
     9.8 +The \c \@edges is just a synonym of \c \@arcs. The \@arcs section can
     9.9  also store the edge set of an undirected graph. In such case there is
    9.10  a conventional method for store arc maps in the file, if two columns
    9.11  has the same caption with \c '+' and \c '-' prefix, then these columns
    10.1 --- a/doc/mainpage.dox	Thu Oct 09 16:47:01 2008 +0200
    10.2 +++ b/doc/mainpage.dox	Thu Oct 09 16:20:37 2008 +0100
    10.3 @@ -50,11 +50,12 @@
    10.4  
    10.5  If you
    10.6  want to see how LEMON works, see
    10.7 -some \ref demoprograms "demo programs"!
    10.8 +some \ref demoprograms "demo programs".
    10.9  
   10.10  If you know what you are looking for then try to find it under the
   10.11  <a class="el" href="modules.html">Modules</a>
   10.12  section.
   10.13  
   10.14 -
   10.15 +If you are a user of the old (0.x) series of LEMON, please check out the
   10.16 +\ref migration "Migration Guide" for the backward incompatibilities.
   10.17  */
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/doc/migration.dox	Thu Oct 09 16:20:37 2008 +0100
    11.3 @@ -0,0 +1,143 @@
    11.4 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
    11.5 + *
    11.6 + * This file is a part of LEMON, a generic C++ optimization library.
    11.7 + *
    11.8 + * Copyright (C) 2003-2008
    11.9 + * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
   11.10 + * (Egervary Research Group on Combinatorial Optimization, EGRES).
   11.11 + *
   11.12 + * Permission to use, modify and distribute this software is granted
   11.13 + * provided that this copyright notice appears in all copies. For
   11.14 + * precise terms see the accompanying LICENSE file.
   11.15 + *
   11.16 + * This software is provided "AS IS" with no warranty of any kind,
   11.17 + * express or implied, and with no claim as to its suitability for any
   11.18 + * purpose.
   11.19 + *
   11.20 + */
   11.21 +
   11.22 +namespace lemon {
   11.23 +/*!
   11.24 +
   11.25 +\page migration Migration from the 0.x Series
   11.26 +
   11.27 +This guide gives an in depth description on what has changed compared
   11.28 +to the 0.x release series.
   11.29 +
   11.30 +Many of these changes adjusted automatically by the
   11.31 +<tt>script/lemon-0.x-to-1.x.sh</tt> tool. Those requiring manual
   11.32 +update are typeset <b>boldface</b>.
   11.33 +
   11.34 +\section migration-graph Graph Related Name Changes
   11.35 +
   11.36 +- \ref concepts::Digraph "Directed graphs" are called \c Digraph and
   11.37 +  they have <tt>Arc</tt>s (instead of <tt>Edge</tt>s), while
   11.38 +  \ref concepts::Graph "undirected graphs" are called \c Graph
   11.39 +  (instead of \c UGraph) and they have <tt>Edge</tt>s (instead of
   11.40 +  <tt>UEdge</tt>s). These changes reflected thoroughly everywhere in
   11.41 +  the library. Namely,
   11.42 +  - \c Graph -> \c Digraph
   11.43 +    - \c %ListGraph -> \c ListDigraph, \c %SmartGraph -> \c SmartDigraph etc.
   11.44 +  - \c UGraph -> \c Graph
   11.45 +    - \c ListUGraph -> \c ListGraph, \c SmartUGraph -> \c SmartGraph etc.
   11.46 +  - \c Edge -> \c Arc, \c UEdge -> \c Edge
   11.47 +  - \c EdgeMap -> \c ArcMap, \c UEdgeMap -> \c EdgeMap
   11.48 +  - \c EdgeIt -> \c ArcIt, \c UEdgeIt -> \c EdgeIt
   11.49 +  - Class names and function names containing the words \c graph,
   11.50 +    \c ugraph, \e edge or \e arc should also be updated.
   11.51 +- <b>The two endpoints of an (\e undirected) \c Edge can be obtained by the
   11.52 +  <tt>u()</tt> and <tt>v()</tt> member function of the graph
   11.53 +  (instead of <tt>source()</tt> and <tt>target()</tt>). This change
   11.54 +  must be done by hand.</b>
   11.55 +  \n Of course, you can still use <tt>source()</tt> and <tt>target()</tt>
   11.56 +  for <tt>Arc</tt>s (directed edges).
   11.57 +
   11.58 +\warning
   11.59 +<b>The <tt>script/lemon-0.x-to-1.x.sh</tt> tool replaces all instances of
   11.60 +the words \c graph, \c digraph, \c edge and \c arc, so it replaces them
   11.61 +in strings, comments etc. as well as in all identifiers.</b>
   11.62 +
   11.63 +\section migration-lgf LGF tools
   11.64 + - The \ref lgf-format "LGF file format" has changed,
   11.65 +   <tt>\@nodeset</tt> has changed to <tt>\@nodes</tt>,
   11.66 +   <tt>\@edgeset</tt> and <tt>\@uedgeset</tt> to <tt>\@arcs</tt> or
   11.67 +   <tt>\@edges</tt>, which become completely equivalents. The
   11.68 +   <tt>\@nodes</tt>, <tt>\@edges</tt> and <tt>\@uedges</tt> sections are
   11.69 +   removed from the format, the content of them should be
   11.70 +   the part of <tt>\@attributes</tt> section. The data fields in
   11.71 +   the sections must follow a strict format, they must be either character
   11.72 +   sequences without whitespaces or quoted strings.
   11.73 + - The <tt>LemonReader</tt> and <tt>LemonWriter</tt> core interfaces
   11.74 +   are no longer available.
   11.75 + - The implementation of the general section readers and writers has changed
   11.76 +   they are simple functors now. Beside the old
   11.77 +   stream based section handling, currently line oriented section
   11.78 +   reading and writing are also supported. In the
   11.79 +   section readers the lines must be counted manually. The sections
   11.80 +   should be read and written with the SectionWriter and SectionReader
   11.81 +   classes.
   11.82 + - Instead of the item readers and writers, item converters should be
   11.83 +   used. The converters are functors, which map the type to
   11.84 +   std::string or std::string to the type. The converters for standard
   11.85 +   containers hasn't yet been implemented in the new LEMON. The converters
   11.86 +   can return strings in any format, because if it is necessary, the LGF
   11.87 +   writer and reader will quote and unquote the given value.
   11.88 + - The DigraphReader and DigraphWriter can used similarly to the
   11.89 +   0.x series, however the <tt>read</tt> or <tt>write</tt> prefix of
   11.90 +   the member functions are removed.
   11.91 + - The new LEMON supports the function like interface, the \c
   11.92 +   digraphReader and \c digraphWriter functions are more convenient than
   11.93 +   using the classes directly.
   11.94 +
   11.95 +\section migration-search BFS, DFS and Dijkstra
   11.96 +- <b>Using the function interface of BFS, DFS and %Dijkstra both source and
   11.97 +  target nodes can be given as parameters of the <tt>run()</tt> function
   11.98 +  (instead of \c bfs(), \c dfs() or \c dijkstra() itself).</b>
   11.99 +- \ref named-templ-param "Named class template parameters" of \c Bfs,
  11.100 +  \c Dfs, \c Dijkstra, \c BfsVisit, \c DfsVisit are renamed to start
  11.101 +  with "Set" instead of "Def". Namely,
  11.102 +  - \c DefPredMap -> \c SetPredMap
  11.103 +  - \c DefDistMap -> \c SetDistMap
  11.104 +  - \c DefReachedMap -> \c SetReachedMap
  11.105 +  - \c DefProcessedMap -> \c SetProcessedMap
  11.106 +  - \c DefHeap -> \c SetHeap
  11.107 +  - \c DefStandardHeap -> \c SetStandardHeap
  11.108 +  - \c DefOperationTraits -> \c SetOperationTraits
  11.109 +  - \c DefProcessedMapToBeDefaultMap -> \c SetStandardProcessedMap
  11.110 +
  11.111 +\section migration-error Exceptions and Debug tools
  11.112 +
  11.113 +<b>The class hierarchy of exceptions has largely been simplified. Now,
  11.114 +only the i/o related tools may throw exceptions. All other exceptions
  11.115 +have been replaced with either the \c LEMON_ASSERT or the \c LEMON_DEBUG
  11.116 +macros.</b>
  11.117 +
  11.118 +<b>On the other hand, the parameter order of constructors of the
  11.119 +exceptions has been changed. See \ref IoError and \ref FormatError for
  11.120 +more details.</b>
  11.121 +
  11.122 +\section migration-other Others
  11.123 +- <b>The contents of <tt>graph_utils.h</tt> are moved to <tt>core.h</tt>
  11.124 +  and <tt>maps.h</tt>. <tt>core.h</tt> is included by all graph types,
  11.125 +  therefore it usually do not have to be included directly.</b>
  11.126 +- <b><tt>path_utils.h</tt> is merged to \c path.h.</b>
  11.127 +- <b>The semantic of the assignment operations and copy constructors of maps
  11.128 +  are still under discussion. So, you must copy them by hand (i.e. copy
  11.129 +  each entry one-by-one)</b>
  11.130 +- <b>The parameters of the graph copying tools (i.e. \c GraphCopy,
  11.131 +  \c DigraphCopy) have to be given in the from-to order.</b>
  11.132 +- \c copyDigraph() and \c copyGraph() are renamed to \c digraphCopy()
  11.133 +  and \c graphCopy(), respectively.
  11.134 +- <b>The interface of \ref DynArcLookUp has changed. It is now the same as
  11.135 +  of \ref ArcLookUp and \ref AllArcLookUp</b>
  11.136 +- Some map types should also been renamed. Namely,
  11.137 +  - \c IntegerMap -> \c RangeMap
  11.138 +  - \c StdMap -> \c SparseMap
  11.139 +  - \c FunctorMap -> \c FunctorToMap
  11.140 +  - \c MapFunctor -> \c MapToFunctor
  11.141 +  - \c ForkWriteMap -> \c ForkMap
  11.142 +  - \c StoreBoolMap -> \c LoggerBoolMap
  11.143 +- \c dim2::BoundingBox -> \c dim2::Box
  11.144 +
  11.145 +*/
  11.146 +}
    12.1 --- a/lemon/arg_parser.cc	Thu Oct 09 16:47:01 2008 +0200
    12.2 +++ b/lemon/arg_parser.cc	Thu Oct 09 16:20:37 2008 +0100
    12.3 @@ -26,12 +26,11 @@
    12.4      exit(1);
    12.5    }
    12.6  
    12.7 -  ArgParser::ArgParser(int argc, const char **argv) :_argc(argc), _argv(argv),
    12.8 -                                                     _command_name(argv[0]) {
    12.9 +  ArgParser::ArgParser(int argc, const char * const *argv)
   12.10 +    :_argc(argc), _argv(argv), _command_name(argv[0]) {
   12.11      funcOption("-help","Print a short help message",_showHelp,this);
   12.12      synonym("help","-help");
   12.13      synonym("h","-help");
   12.14 -
   12.15    }
   12.16  
   12.17    ArgParser::~ArgParser()
    13.1 --- a/lemon/arg_parser.h	Thu Oct 09 16:47:01 2008 +0200
    13.2 +++ b/lemon/arg_parser.h	Thu Oct 09 16:20:37 2008 +0100
    13.3 @@ -46,7 +46,7 @@
    13.4    protected:
    13.5  
    13.6      int _argc;
    13.7 -    const char **_argv;
    13.8 +    const char * const *_argv;
    13.9  
   13.10      enum OptType { UNKNOWN=0, BOOL=1, STRING=2, DOUBLE=3, INTEGER=4, FUNC=5 };
   13.11  
   13.12 @@ -119,7 +119,7 @@
   13.13    public:
   13.14  
   13.15      ///Constructor
   13.16 -    ArgParser(int argc, const char **argv);
   13.17 +    ArgParser(int argc, const char * const *argv);
   13.18  
   13.19      ~ArgParser();
   13.20  
    14.1 --- a/lemon/bfs.h	Thu Oct 09 16:47:01 2008 +0200
    14.2 +++ b/lemon/bfs.h	Thu Oct 09 16:20:37 2008 +0100
    14.3 @@ -49,11 +49,11 @@
    14.4      ///arcs of the shortest paths.
    14.5      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
    14.6      typedef typename Digraph::template NodeMap<typename Digraph::Arc> PredMap;
    14.7 -    ///Instantiates a \ref PredMap.
    14.8 +    ///Instantiates a PredMap.
    14.9  
   14.10 -    ///This function instantiates a \ref PredMap.
   14.11 +    ///This function instantiates a PredMap.
   14.12      ///\param g is the digraph, to which we would like to define the
   14.13 -    ///\ref PredMap.
   14.14 +    ///PredMap.
   14.15      static PredMap *createPredMap(const Digraph &g)
   14.16      {
   14.17        return new PredMap(g);
   14.18 @@ -64,11 +64,11 @@
   14.19      ///The type of the map that indicates which nodes are processed.
   14.20      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
   14.21      typedef NullMap<typename Digraph::Node,bool> ProcessedMap;
   14.22 -    ///Instantiates a \ref ProcessedMap.
   14.23 +    ///Instantiates a ProcessedMap.
   14.24  
   14.25 -    ///This function instantiates a \ref ProcessedMap.
   14.26 +    ///This function instantiates a ProcessedMap.
   14.27      ///\param g is the digraph, to which
   14.28 -    ///we would like to define the \ref ProcessedMap
   14.29 +    ///we would like to define the ProcessedMap
   14.30  #ifdef DOXYGEN
   14.31      static ProcessedMap *createProcessedMap(const Digraph &g)
   14.32  #else
   14.33 @@ -83,11 +83,11 @@
   14.34      ///The type of the map that indicates which nodes are reached.
   14.35      ///It must meet the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
   14.36      typedef typename Digraph::template NodeMap<bool> ReachedMap;
   14.37 -    ///Instantiates a \ref ReachedMap.
   14.38 +    ///Instantiates a ReachedMap.
   14.39  
   14.40 -    ///This function instantiates a \ref ReachedMap.
   14.41 +    ///This function instantiates a ReachedMap.
   14.42      ///\param g is the digraph, to which
   14.43 -    ///we would like to define the \ref ReachedMap.
   14.44 +    ///we would like to define the ReachedMap.
   14.45      static ReachedMap *createReachedMap(const Digraph &g)
   14.46      {
   14.47        return new ReachedMap(g);
   14.48 @@ -98,11 +98,11 @@
   14.49      ///The type of the map that stores the distances of the nodes.
   14.50      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
   14.51      typedef typename Digraph::template NodeMap<int> DistMap;
   14.52 -    ///Instantiates a \ref DistMap.
   14.53 +    ///Instantiates a DistMap.
   14.54  
   14.55 -    ///This function instantiates a \ref DistMap.
   14.56 +    ///This function instantiates a DistMap.
   14.57      ///\param g is the digraph, to which we would like to define the
   14.58 -    ///\ref DistMap.
   14.59 +    ///DistMap.
   14.60      static DistMap *createDistMap(const Digraph &g)
   14.61      {
   14.62        return new DistMap(g);
   14.63 @@ -227,10 +227,10 @@
   14.64        }
   14.65      };
   14.66      ///\brief \ref named-templ-param "Named parameter" for setting
   14.67 -    ///\ref PredMap type.
   14.68 +    ///PredMap type.
   14.69      ///
   14.70      ///\ref named-templ-param "Named parameter" for setting
   14.71 -    ///\ref PredMap type.
   14.72 +    ///PredMap type.
   14.73      template <class T>
   14.74      struct SetPredMap : public Bfs< Digraph, SetPredMapTraits<T> > {
   14.75        typedef Bfs< Digraph, SetPredMapTraits<T> > Create;
   14.76 @@ -246,10 +246,10 @@
   14.77        }
   14.78      };
   14.79      ///\brief \ref named-templ-param "Named parameter" for setting
   14.80 -    ///\ref DistMap type.
   14.81 +    ///DistMap type.
   14.82      ///
   14.83      ///\ref named-templ-param "Named parameter" for setting
   14.84 -    ///\ref DistMap type.
   14.85 +    ///DistMap type.
   14.86      template <class T>
   14.87      struct SetDistMap : public Bfs< Digraph, SetDistMapTraits<T> > {
   14.88        typedef Bfs< Digraph, SetDistMapTraits<T> > Create;
   14.89 @@ -265,10 +265,10 @@
   14.90        }
   14.91      };
   14.92      ///\brief \ref named-templ-param "Named parameter" for setting
   14.93 -    ///\ref ReachedMap type.
   14.94 +    ///ReachedMap type.
   14.95      ///
   14.96      ///\ref named-templ-param "Named parameter" for setting
   14.97 -    ///\ref ReachedMap type.
   14.98 +    ///ReachedMap type.
   14.99      template <class T>
  14.100      struct SetReachedMap : public Bfs< Digraph, SetReachedMapTraits<T> > {
  14.101        typedef Bfs< Digraph, SetReachedMapTraits<T> > Create;
  14.102 @@ -284,10 +284,10 @@
  14.103        }
  14.104      };
  14.105      ///\brief \ref named-templ-param "Named parameter" for setting
  14.106 -    ///\ref ProcessedMap type.
  14.107 +    ///ProcessedMap type.
  14.108      ///
  14.109      ///\ref named-templ-param "Named parameter" for setting
  14.110 -    ///\ref ProcessedMap type.
  14.111 +    ///ProcessedMap type.
  14.112      template <class T>
  14.113      struct SetProcessedMap : public Bfs< Digraph, SetProcessedMapTraits<T> > {
  14.114        typedef Bfs< Digraph, SetProcessedMapTraits<T> > Create;
  14.115 @@ -302,10 +302,10 @@
  14.116        }
  14.117      };
  14.118      ///\brief \ref named-templ-param "Named parameter" for setting
  14.119 -    ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
  14.120 +    ///ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
  14.121      ///
  14.122      ///\ref named-templ-param "Named parameter" for setting
  14.123 -    ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
  14.124 +    ///ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
  14.125      ///If you don't set it explicitly, it will be automatically allocated.
  14.126      struct SetStandardProcessedMap :
  14.127        public Bfs< Digraph, SetStandardProcessedMapTraits > {
  14.128 @@ -835,11 +835,11 @@
  14.129      ///arcs of the shortest paths.
  14.130      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
  14.131      typedef typename Digraph::template NodeMap<typename Digraph::Arc> PredMap;
  14.132 -    ///Instantiates a \ref PredMap.
  14.133 +    ///Instantiates a PredMap.
  14.134  
  14.135 -    ///This function instantiates a \ref PredMap.
  14.136 +    ///This function instantiates a PredMap.
  14.137      ///\param g is the digraph, to which we would like to define the
  14.138 -    ///\ref PredMap.
  14.139 +    ///PredMap.
  14.140      static PredMap *createPredMap(const Digraph &g)
  14.141      {
  14.142        return new PredMap(g);
  14.143 @@ -851,11 +851,11 @@
  14.144      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
  14.145      ///By default it is a NullMap.
  14.146      typedef NullMap<typename Digraph::Node,bool> ProcessedMap;
  14.147 -    ///Instantiates a \ref ProcessedMap.
  14.148 +    ///Instantiates a ProcessedMap.
  14.149  
  14.150 -    ///This function instantiates a \ref ProcessedMap.
  14.151 +    ///This function instantiates a ProcessedMap.
  14.152      ///\param g is the digraph, to which
  14.153 -    ///we would like to define the \ref ProcessedMap.
  14.154 +    ///we would like to define the ProcessedMap.
  14.155  #ifdef DOXYGEN
  14.156      static ProcessedMap *createProcessedMap(const Digraph &g)
  14.157  #else
  14.158 @@ -870,11 +870,11 @@
  14.159      ///The type of the map that indicates which nodes are reached.
  14.160      ///It must meet the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
  14.161      typedef typename Digraph::template NodeMap<bool> ReachedMap;
  14.162 -    ///Instantiates a \ref ReachedMap.
  14.163 +    ///Instantiates a ReachedMap.
  14.164  
  14.165 -    ///This function instantiates a \ref ReachedMap.
  14.166 +    ///This function instantiates a ReachedMap.
  14.167      ///\param g is the digraph, to which
  14.168 -    ///we would like to define the \ref ReachedMap.
  14.169 +    ///we would like to define the ReachedMap.
  14.170      static ReachedMap *createReachedMap(const Digraph &g)
  14.171      {
  14.172        return new ReachedMap(g);
  14.173 @@ -885,11 +885,11 @@
  14.174      ///The type of the map that stores the distances of the nodes.
  14.175      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
  14.176      typedef typename Digraph::template NodeMap<int> DistMap;
  14.177 -    ///Instantiates a \ref DistMap.
  14.178 +    ///Instantiates a DistMap.
  14.179  
  14.180 -    ///This function instantiates a \ref DistMap.
  14.181 +    ///This function instantiates a DistMap.
  14.182      ///\param g is the digraph, to which we would like to define
  14.183 -    ///the \ref DistMap
  14.184 +    ///the DistMap
  14.185      static DistMap *createDistMap(const Digraph &g)
  14.186      {
  14.187        return new DistMap(g);
  14.188 @@ -902,7 +902,7 @@
  14.189      typedef lemon::Path<Digraph> Path;
  14.190    };
  14.191  
  14.192 -  /// Default traits class used by \ref BfsWizard
  14.193 +  /// Default traits class used by BfsWizard
  14.194  
  14.195    /// To make it easier to use Bfs algorithm
  14.196    /// we have created a wizard class.
  14.197 @@ -1068,10 +1068,10 @@
  14.198        SetPredMapBase(const TR &b) : TR(b) {}
  14.199      };
  14.200      ///\brief \ref named-func-param "Named parameter"
  14.201 -    ///for setting \ref PredMap object.
  14.202 +    ///for setting PredMap object.
  14.203      ///
  14.204      ///\ref named-func-param "Named parameter"
  14.205 -    ///for setting \ref PredMap object.
  14.206 +    ///for setting PredMap object.
  14.207      template<class T>
  14.208      BfsWizard<SetPredMapBase<T> > predMap(const T &t)
  14.209      {
  14.210 @@ -1086,10 +1086,10 @@
  14.211        SetReachedMapBase(const TR &b) : TR(b) {}
  14.212      };
  14.213      ///\brief \ref named-func-param "Named parameter"
  14.214 -    ///for setting \ref ReachedMap object.
  14.215 +    ///for setting ReachedMap object.
  14.216      ///
  14.217      /// \ref named-func-param "Named parameter"
  14.218 -    ///for setting \ref ReachedMap object.
  14.219 +    ///for setting ReachedMap object.
  14.220      template<class T>
  14.221      BfsWizard<SetReachedMapBase<T> > reachedMap(const T &t)
  14.222      {
  14.223 @@ -1104,10 +1104,10 @@
  14.224        SetDistMapBase(const TR &b) : TR(b) {}
  14.225      };
  14.226      ///\brief \ref named-func-param "Named parameter"
  14.227 -    ///for setting \ref DistMap object.
  14.228 +    ///for setting DistMap object.
  14.229      ///
  14.230      /// \ref named-func-param "Named parameter"
  14.231 -    ///for setting \ref DistMap object.
  14.232 +    ///for setting DistMap object.
  14.233      template<class T>
  14.234      BfsWizard<SetDistMapBase<T> > distMap(const T &t)
  14.235      {
  14.236 @@ -1122,10 +1122,10 @@
  14.237        SetProcessedMapBase(const TR &b) : TR(b) {}
  14.238      };
  14.239      ///\brief \ref named-func-param "Named parameter"
  14.240 -    ///for setting \ref ProcessedMap object.
  14.241 +    ///for setting ProcessedMap object.
  14.242      ///
  14.243      /// \ref named-func-param "Named parameter"
  14.244 -    ///for setting \ref ProcessedMap object.
  14.245 +    ///for setting ProcessedMap object.
  14.246      template<class T>
  14.247      BfsWizard<SetProcessedMapBase<T> > processedMap(const T &t)
  14.248      {
  14.249 @@ -1267,11 +1267,11 @@
  14.250      /// It must meet the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
  14.251      typedef typename Digraph::template NodeMap<bool> ReachedMap;
  14.252  
  14.253 -    /// \brief Instantiates a \ref ReachedMap.
  14.254 +    /// \brief Instantiates a ReachedMap.
  14.255      ///
  14.256 -    /// This function instantiates a \ref ReachedMap.
  14.257 +    /// This function instantiates a ReachedMap.
  14.258      /// \param digraph is the digraph, to which
  14.259 -    /// we would like to define the \ref ReachedMap.
  14.260 +    /// we would like to define the ReachedMap.
  14.261      static ReachedMap *createReachedMap(const Digraph &digraph) {
  14.262        return new ReachedMap(digraph);
  14.263      }
    15.1 --- a/lemon/bits/alteration_notifier.h	Thu Oct 09 16:47:01 2008 +0200
    15.2 +++ b/lemon/bits/alteration_notifier.h	Thu Oct 09 16:20:37 2008 +0100
    15.3 @@ -24,76 +24,75 @@
    15.4  
    15.5  #include <lemon/core.h>
    15.6  
    15.7 -///\ingroup graphbits
    15.8 -///\file
    15.9 -///\brief Observer notifier for graph alteration observers.
   15.10 +//\ingroup graphbits
   15.11 +//\file
   15.12 +//\brief Observer notifier for graph alteration observers.
   15.13  
   15.14  namespace lemon {
   15.15  
   15.16 -  /// \ingroup graphbits
   15.17 -  ///
   15.18 -  /// \brief Notifier class to notify observes about alterations in
   15.19 -  /// a container.
   15.20 -  ///
   15.21 -  /// The simple graph's can be refered as two containers, one node container
   15.22 -  /// and one edge container. But they are not standard containers they
   15.23 -  /// does not store values directly they are just key continars for more
   15.24 -  /// value containers which are the node and edge maps.
   15.25 -  ///
   15.26 -  /// The graph's node and edge sets can be changed as we add or erase
   15.27 -  /// nodes and edges in the graph. LEMON would like to handle easily
   15.28 -  /// that the node and edge maps should contain values for all nodes or
   15.29 -  /// edges. If we want to check on every indicing if the map contains
   15.30 -  /// the current indicing key that cause a drawback in the performance
   15.31 -  /// in the library. We use another solution we notify all maps about
   15.32 -  /// an alteration in the graph, which cause only drawback on the
   15.33 -  /// alteration of the graph.
   15.34 -  ///
   15.35 -  /// This class provides an interface to the container. The \e first() and \e
   15.36 -  /// next() member functions make possible to iterate on the keys of the
   15.37 -  /// container. The \e id() function returns an integer id for each key.
   15.38 -  /// The \e maxId() function gives back an upper bound of the ids.
   15.39 -  ///
   15.40 -  /// For the proper functonality of this class, we should notify it
   15.41 -  /// about each alteration in the container. The alterations have four type
   15.42 -  /// as \e add(), \e erase(), \e build() and \e clear(). The \e add() and
   15.43 -  /// \e erase() signals that only one or few items added or erased to or
   15.44 -  /// from the graph. If all items are erased from the graph or from an empty
   15.45 -  /// graph a new graph is builded then it can be signaled with the
   15.46 -  /// clear() and build() members. Important rule that if we erase items
   15.47 -  /// from graph we should first signal the alteration and after that erase
   15.48 -  /// them from the container, on the other way on item addition we should
   15.49 -  /// first extend the container and just after that signal the alteration.
   15.50 -  ///
   15.51 -  /// The alteration can be observed with a class inherited from the
   15.52 -  /// \e ObserverBase nested class. The signals can be handled with
   15.53 -  /// overriding the virtual functions defined in the base class.  The
   15.54 -  /// observer base can be attached to the notifier with the
   15.55 -  /// \e attach() member and can be detached with detach() function. The
   15.56 -  /// alteration handlers should not call any function which signals
   15.57 -  /// an other alteration in the same notifier and should not
   15.58 -  /// detach any observer from the notifier.
   15.59 -  ///
   15.60 -  /// Alteration observers try to be exception safe. If an \e add() or
   15.61 -  /// a \e clear() function throws an exception then the remaining
   15.62 -  /// observeres will not be notified and the fulfilled additions will
   15.63 -  /// be rolled back by calling the \e erase() or \e clear()
   15.64 -  /// functions. Thence the \e erase() and \e clear() should not throw
   15.65 -  /// exception. Actullay, it can be throw only
   15.66 -  /// \ref AlterationObserver::ImmediateDetach ImmediateDetach
   15.67 -  /// exception which detach the observer from the notifier.
   15.68 -  ///
   15.69 -  /// There are some place when the alteration observing is not completly
   15.70 -  /// reliable. If we want to carry out the node degree in the graph
   15.71 -  /// as in the \ref InDegMap and we use the reverseEdge that cause
   15.72 -  /// unreliable functionality. Because the alteration observing signals
   15.73 -  /// only erasing and adding but not the reversing it will stores bad
   15.74 -  /// degrees. The sub graph adaptors cannot signal the alterations because
   15.75 -  /// just a setting in the filter map can modify the graph and this cannot
   15.76 -  /// be watched in any way.
   15.77 -  ///
   15.78 -  /// \param _Container The container which is observed.
   15.79 -  /// \param _Item The item type which is obserbved.
   15.80 +  // \ingroup graphbits
   15.81 +  //
   15.82 +  // \brief Notifier class to notify observes about alterations in
   15.83 +  // a container.
   15.84 +  //
   15.85 +  // The simple graph's can be refered as two containers, one node container
   15.86 +  // and one edge container. But they are not standard containers they
   15.87 +  // does not store values directly they are just key continars for more
   15.88 +  // value containers which are the node and edge maps.
   15.89 +  //
   15.90 +  // The graph's node and edge sets can be changed as we add or erase
   15.91 +  // nodes and edges in the graph. LEMON would like to handle easily
   15.92 +  // that the node and edge maps should contain values for all nodes or
   15.93 +  // edges. If we want to check on every indicing if the map contains
   15.94 +  // the current indicing key that cause a drawback in the performance
   15.95 +  // in the library. We use another solution we notify all maps about
   15.96 +  // an alteration in the graph, which cause only drawback on the
   15.97 +  // alteration of the graph.
   15.98 +  //
   15.99 +  // This class provides an interface to the container. The \e first() and \e
  15.100 +  // next() member functions make possible to iterate on the keys of the
  15.101 +  // container. The \e id() function returns an integer id for each key.
  15.102 +  // The \e maxId() function gives back an upper bound of the ids.
  15.103 +  //
  15.104 +  // For the proper functonality of this class, we should notify it
  15.105 +  // about each alteration in the container. The alterations have four type
  15.106 +  // as \e add(), \e erase(), \e build() and \e clear(). The \e add() and
  15.107 +  // \e erase() signals that only one or few items added or erased to or
  15.108 +  // from the graph. If all items are erased from the graph or from an empty
  15.109 +  // graph a new graph is builded then it can be signaled with the
  15.110 +  // clear() and build() members. Important rule that if we erase items
  15.111 +  // from graph we should first signal the alteration and after that erase
  15.112 +  // them from the container, on the other way on item addition we should
  15.113 +  // first extend the container and just after that signal the alteration.
  15.114 +  //
  15.115 +  // The alteration can be observed with a class inherited from the
  15.116 +  // \e ObserverBase nested class. The signals can be handled with
  15.117 +  // overriding the virtual functions defined in the base class.  The
  15.118 +  // observer base can be attached to the notifier with the
  15.119 +  // \e attach() member and can be detached with detach() function. The
  15.120 +  // alteration handlers should not call any function which signals
  15.121 +  // an other alteration in the same notifier and should not
  15.122 +  // detach any observer from the notifier.
  15.123 +  //
  15.124 +  // Alteration observers try to be exception safe. If an \e add() or
  15.125 +  // a \e clear() function throws an exception then the remaining
  15.126 +  // observeres will not be notified and the fulfilled additions will
  15.127 +  // be rolled back by calling the \e erase() or \e clear()
  15.128 +  // functions. Thence the \e erase() and \e clear() should not throw
  15.129 +  // exception. Actullay, it can be throw only \ref ImmediateDetach
  15.130 +  // exception which detach the observer from the notifier.
  15.131 +  //
  15.132 +  // There are some place when the alteration observing is not completly
  15.133 +  // reliable. If we want to carry out the node degree in the graph
  15.134 +  // as in the \ref InDegMap and we use the reverseEdge that cause
  15.135 +  // unreliable functionality. Because the alteration observing signals
  15.136 +  // only erasing and adding but not the reversing it will stores bad
  15.137 +  // degrees. The sub graph adaptors cannot signal the alterations because
  15.138 +  // just a setting in the filter map can modify the graph and this cannot
  15.139 +  // be watched in any way.
  15.140 +  //
  15.141 +  // \param _Container The container which is observed.
  15.142 +  // \param _Item The item type which is obserbved.
  15.143  
  15.144    template <typename _Container, typename _Item>
  15.145    class AlterationNotifier {
  15.146 @@ -104,92 +103,87 @@
  15.147      typedef _Container Container;
  15.148      typedef _Item Item;
  15.149  
  15.150 -    /// \brief Exception which can be called from \e clear() and
  15.151 -    /// \e erase().
  15.152 -    ///
  15.153 -    /// From the \e clear() and \e erase() function only this
  15.154 -    /// exception is allowed to throw. The exception immediatly
  15.155 -    /// detaches the current observer from the notifier. Because the
  15.156 -    /// \e clear() and \e erase() should not throw other exceptions
  15.157 -    /// it can be used to invalidate the observer.
  15.158 +    // \brief Exception which can be called from \e clear() and
  15.159 +    // \e erase().
  15.160 +    //
  15.161 +    // From the \e clear() and \e erase() function only this
  15.162 +    // exception is allowed to throw. The exception immediatly
  15.163 +    // detaches the current observer from the notifier. Because the
  15.164 +    // \e clear() and \e erase() should not throw other exceptions
  15.165 +    // it can be used to invalidate the observer.
  15.166      struct ImmediateDetach {};
  15.167  
  15.168 -    /// \brief ObserverBase is the base class for the observers.
  15.169 -    ///
  15.170 -    /// ObserverBase is the abstract base class for the observers.
  15.171 -    /// It will be notified about an item was inserted into or
  15.172 -    /// erased from the graph.
  15.173 -    ///
  15.174 -    /// The observer interface contains some pure virtual functions
  15.175 -    /// to override. The add() and erase() functions are
  15.176 -    /// to notify the oberver when one item is added or
  15.177 -    /// erased.
  15.178 -    ///
  15.179 -    /// The build() and clear() members are to notify the observer
  15.180 -    /// about the container is built from an empty container or
  15.181 -    /// is cleared to an empty container.
  15.182 -
  15.183 +    // \brief ObserverBase is the base class for the observers.
  15.184 +    //
  15.185 +    // ObserverBase is the abstract base class for the observers.
  15.186 +    // It will be notified about an item was inserted into or
  15.187 +    // erased from the graph.
  15.188 +    //
  15.189 +    // The observer interface contains some pure virtual functions
  15.190 +    // to override. The add() and erase() functions are
  15.191 +    // to notify the oberver when one item is added or
  15.192 +    // erased.
  15.193 +    //
  15.194 +    // The build() and clear() members are to notify the observer
  15.195 +    // about the container is built from an empty container or
  15.196 +    // is cleared to an empty container.
  15.197      class ObserverBase {
  15.198      protected:
  15.199        typedef AlterationNotifier Notifier;
  15.200  
  15.201        friend class AlterationNotifier;
  15.202  
  15.203 -      /// \brief Default constructor.
  15.204 -      ///
  15.205 -      /// Default constructor for ObserverBase.
  15.206 -      ///
  15.207 +      // \brief Default constructor.
  15.208 +      //
  15.209 +      // Default constructor for ObserverBase.
  15.210        ObserverBase() : _notifier(0) {}
  15.211  
  15.212 -      /// \brief Constructor which attach the observer into notifier.
  15.213 -      ///
  15.214 -      /// Constructor which attach the observer into notifier.
  15.215 +      // \brief Constructor which attach the observer into notifier.
  15.216 +      //
  15.217 +      // Constructor which attach the observer into notifier.
  15.218        ObserverBase(AlterationNotifier& nf) {
  15.219          attach(nf);
  15.220        }
  15.221  
  15.222 -      /// \brief Constructor which attach the obserever to the same notifier.
  15.223 -      ///
  15.224 -      /// Constructor which attach the obserever to the same notifier as
  15.225 -      /// the other observer is attached to.
  15.226 +      // \brief Constructor which attach the obserever to the same notifier.
  15.227 +      //
  15.228 +      // Constructor which attach the obserever to the same notifier as
  15.229 +      // the other observer is attached to.
  15.230        ObserverBase(const ObserverBase& copy) {
  15.231          if (copy.attached()) {
  15.232            attach(*copy.notifier());
  15.233          }
  15.234        }
  15.235  
  15.236 -      /// \brief Destructor
  15.237 +      // \brief Destructor
  15.238        virtual ~ObserverBase() {
  15.239          if (attached()) {
  15.240            detach();
  15.241          }
  15.242        }
  15.243  
  15.244 -      /// \brief Attaches the observer into an AlterationNotifier.
  15.245 -      ///
  15.246 -      /// This member attaches the observer into an AlterationNotifier.
  15.247 -      ///
  15.248 +      // \brief Attaches the observer into an AlterationNotifier.
  15.249 +      //
  15.250 +      // This member attaches the observer into an AlterationNotifier.
  15.251        void attach(AlterationNotifier& nf) {
  15.252          nf.attach(*this);
  15.253        }
  15.254  
  15.255 -      /// \brief Detaches the observer into an AlterationNotifier.
  15.256 -      ///
  15.257 -      /// This member detaches the observer from an AlterationNotifier.
  15.258 -      ///
  15.259 +      // \brief Detaches the observer into an AlterationNotifier.
  15.260 +      //
  15.261 +      // This member detaches the observer from an AlterationNotifier.
  15.262        void detach() {
  15.263          _notifier->detach(*this);
  15.264        }
  15.265  
  15.266 -      /// \brief Gives back a pointer to the notifier which the map
  15.267 -      /// attached into.
  15.268 -      ///
  15.269 -      /// This function gives back a pointer to the notifier which the map
  15.270 -      /// attached into.
  15.271 -      ///
  15.272 +      // \brief Gives back a pointer to the notifier which the map
  15.273 +      // attached into.
  15.274 +      //
  15.275 +      // This function gives back a pointer to the notifier which the map
  15.276 +      // attached into.
  15.277        Notifier* notifier() const { return const_cast<Notifier*>(_notifier); }
  15.278  
  15.279 -      /// Gives back true when the observer is attached into a notifier.
  15.280 +      // Gives back true when the observer is attached into a notifier.
  15.281        bool attached() const { return _notifier != 0; }
  15.282  
  15.283      private:
  15.284 @@ -201,53 +195,52 @@
  15.285        Notifier* _notifier;
  15.286        typename std::list<ObserverBase*>::iterator _index;
  15.287  
  15.288 -      /// \brief The member function to notificate the observer about an
  15.289 -      /// item is added to the container.
  15.290 -      ///
  15.291 -      /// The add() member function notificates the observer about an item
  15.292 -      /// is added to the container. It have to be overrided in the
  15.293 -      /// subclasses.
  15.294 +      // \brief The member function to notificate the observer about an
  15.295 +      // item is added to the container.
  15.296 +      //
  15.297 +      // The add() member function notificates the observer about an item
  15.298 +      // is added to the container. It have to be overrided in the
  15.299 +      // subclasses.
  15.300        virtual void add(const Item&) = 0;
  15.301  
  15.302 -      /// \brief The member function to notificate the observer about
  15.303 -      /// more item is added to the container.
  15.304 -      ///
  15.305 -      /// The add() member function notificates the observer about more item
  15.306 -      /// is added to the container. It have to be overrided in the
  15.307 -      /// subclasses.
  15.308 +      // \brief The member function to notificate the observer about
  15.309 +      // more item is added to the container.
  15.310 +      //
  15.311 +      // The add() member function notificates the observer about more item
  15.312 +      // is added to the container. It have to be overrided in the
  15.313 +      // subclasses.
  15.314        virtual void add(const std::vector<Item>& items) = 0;
  15.315  
  15.316 -      /// \brief The member function to notificate the observer about an
  15.317 -      /// item is erased from the container.
  15.318 -      ///
  15.319 -      /// The erase() member function notificates the observer about an
  15.320 -      /// item is erased from the container. It have to be overrided in
  15.321 -      /// the subclasses.
  15.322 +      // \brief The member function to notificate the observer about an
  15.323 +      // item is erased from the container.
  15.324 +      //
  15.325 +      // The erase() member function notificates the observer about an
  15.326 +      // item is erased from the container. It have to be overrided in
  15.327 +      // the subclasses.
  15.328        virtual void erase(const Item&) = 0;
  15.329  
  15.330 -      /// \brief The member function to notificate the observer about
  15.331 -      /// more item is erased from the container.
  15.332 -      ///
  15.333 -      /// The erase() member function notificates the observer about more item
  15.334 -      /// is erased from the container. It have to be overrided in the
  15.335 -      /// subclasses.
  15.336 +      // \brief The member function to notificate the observer about
  15.337 +      // more item is erased from the container.
  15.338 +      //
  15.339 +      // The erase() member function notificates the observer about more item
  15.340 +      // is erased from the container. It have to be overrided in the
  15.341 +      // subclasses.
  15.342        virtual void erase(const std::vector<Item>& items) = 0;
  15.343  
  15.344 -      /// \brief The member function to notificate the observer about the
  15.345 -      /// container is built.
  15.346 -      ///
  15.347 -      /// The build() member function notificates the observer about the
  15.348 -      /// container is built from an empty container. It have to be
  15.349 -      /// overrided in the subclasses.
  15.350 -
  15.351 +      // \brief The member function to notificate the observer about the
  15.352 +      // container is built.
  15.353 +      //
  15.354 +      // The build() member function notificates the observer about the
  15.355 +      // container is built from an empty container. It have to be
  15.356 +      // overrided in the subclasses.
  15.357        virtual void build() = 0;
  15.358  
  15.359 -      /// \brief The member function to notificate the observer about all
  15.360 -      /// items are erased from the container.
  15.361 -      ///
  15.362 -      /// The clear() member function notificates the observer about all
  15.363 -      /// items are erased from the container. It have to be overrided in
  15.364 -      /// the subclasses.
  15.365 +      // \brief The member function to notificate the observer about all
  15.366 +      // items are erased from the container.
  15.367 +      //
  15.368 +      // The clear() member function notificates the observer about all
  15.369 +      // items are erased from the container. It have to be overrided in
  15.370 +      // the subclasses.
  15.371        virtual void clear() = 0;
  15.372  
  15.373      };
  15.374 @@ -262,31 +255,30 @@
  15.375  
  15.376    public:
  15.377  
  15.378 -    /// \brief Default constructor.
  15.379 -    ///
  15.380 -    /// The default constructor of the AlterationNotifier.
  15.381 -    /// It creates an empty notifier.
  15.382 +    // \brief Default constructor.
  15.383 +    //
  15.384 +    // The default constructor of the AlterationNotifier.
  15.385 +    // It creates an empty notifier.
  15.386      AlterationNotifier()
  15.387        : container(0) {}
  15.388  
  15.389 -    /// \brief Constructor.
  15.390 -    ///
  15.391 -    /// Constructor with the observed container parameter.
  15.392 +    // \brief Constructor.
  15.393 +    //
  15.394 +    // Constructor with the observed container parameter.
  15.395      AlterationNotifier(const Container& _container)
  15.396        : container(&_container) {}
  15.397  
  15.398 -    /// \brief Copy Constructor of the AlterationNotifier.
  15.399 -    ///
  15.400 -    /// Copy constructor of the AlterationNotifier.
  15.401 -    /// It creates only an empty notifier because the copiable
  15.402 -    /// notifier's observers have to be registered still into that notifier.
  15.403 +    // \brief Copy Constructor of the AlterationNotifier.
  15.404 +    //
  15.405 +    // Copy constructor of the AlterationNotifier.
  15.406 +    // It creates only an empty notifier because the copiable
  15.407 +    // notifier's observers have to be registered still into that notifier.
  15.408      AlterationNotifier(const AlterationNotifier& _notifier)
  15.409        : container(_notifier.container) {}
  15.410  
  15.411 -    /// \brief Destructor.
  15.412 -    ///
  15.413 -    /// Destructor of the AlterationNotifier.
  15.414 -    ///
  15.415 +    // \brief Destructor.
  15.416 +    //
  15.417 +    // Destructor of the AlterationNotifier.
  15.418      ~AlterationNotifier() {
  15.419        typename Observers::iterator it;
  15.420        for (it = _observers.begin(); it != _observers.end(); ++it) {
  15.421 @@ -294,9 +286,9 @@
  15.422        }
  15.423      }
  15.424  
  15.425 -    /// \brief Sets the container.
  15.426 -    ///
  15.427 -    /// Sets the container.
  15.428 +    // \brief Sets the container.
  15.429 +    //
  15.430 +    // Sets the container.
  15.431      void setContainer(const Container& _container) {
  15.432        container = &_container;
  15.433      }
  15.434 @@ -307,34 +299,32 @@
  15.435  
  15.436    public:
  15.437  
  15.438 -
  15.439 -
  15.440 -    /// \brief First item in the container.
  15.441 -    ///
  15.442 -    /// Returns the first item in the container. It is
  15.443 -    /// for start the iteration on the container.
  15.444 +    // \brief First item in the container.
  15.445 +    //
  15.446 +    // Returns the first item in the container. It is
  15.447 +    // for start the iteration on the container.
  15.448      void first(Item& item) const {
  15.449        container->first(item);
  15.450      }
  15.451  
  15.452 -    /// \brief Next item in the container.
  15.453 -    ///
  15.454 -    /// Returns the next item in the container. It is
  15.455 -    /// for iterate on the container.
  15.456 +    // \brief Next item in the container.
  15.457 +    //
  15.458 +    // Returns the next item in the container. It is
  15.459 +    // for iterate on the container.
  15.460      void next(Item& item) const {
  15.461        container->next(item);
  15.462      }
  15.463  
  15.464 -    /// \brief Returns the id of the item.
  15.465 -    ///
  15.466 -    /// Returns the id of the item provided by the container.
  15.467 +    // \brief Returns the id of the item.
  15.468 +    //
  15.469 +    // Returns the id of the item provided by the container.
  15.470      int id(const Item& item) const {
  15.471        return container->id(item);
  15.472      }
  15.473  
  15.474 -    /// \brief Returns the maximum id of the container.
  15.475 -    ///
  15.476 -    /// Returns the maximum id of the container.
  15.477 +    // \brief Returns the maximum id of the container.
  15.478 +    //
  15.479 +    // Returns the maximum id of the container.
  15.480      int maxId() const {
  15.481        return container->maxId(Item());
  15.482      }
  15.483 @@ -354,12 +344,11 @@
  15.484  
  15.485    public:
  15.486  
  15.487 -    /// \brief Notifies all the registed observers about an item added to
  15.488 -    /// the container.
  15.489 -    ///
  15.490 -    /// It notifies all the registed observers about an item added to
  15.491 -    /// the container.
  15.492 -    ///
  15.493 +    // \brief Notifies all the registed observers about an item added to
  15.494 +    // the container.
  15.495 +    //
  15.496 +    // It notifies all the registed observers about an item added to
  15.497 +    // the container.
  15.498      void add(const Item& item) {
  15.499        typename Observers::reverse_iterator it;
  15.500        try {
  15.501 @@ -375,12 +364,11 @@
  15.502        }
  15.503      }
  15.504  
  15.505 -    /// \brief Notifies all the registed observers about more item added to
  15.506 -    /// the container.
  15.507 -    ///
  15.508 -    /// It notifies all the registed observers about more item added to
  15.509 -    /// the container.
  15.510 -    ///
  15.511 +    // \brief Notifies all the registed observers about more item added to
  15.512 +    // the container.
  15.513 +    //
  15.514 +    // It notifies all the registed observers about more item added to
  15.515 +    // the container.
  15.516      void add(const std::vector<Item>& items) {
  15.517        typename Observers::reverse_iterator it;
  15.518        try {
  15.519 @@ -396,12 +384,11 @@
  15.520        }
  15.521      }
  15.522  
  15.523 -    /// \brief Notifies all the registed observers about an item erased from
  15.524 -    /// the container.
  15.525 -    ///
  15.526 -    /// It notifies all the registed observers about an item erased from
  15.527 -    /// the container.
  15.528 -    ///
  15.529 +    // \brief Notifies all the registed observers about an item erased from
  15.530 +    // the container.
  15.531 +    //
  15.532 +    // It notifies all the registed observers about an item erased from
  15.533 +    // the container.
  15.534      void erase(const Item& item) throw() {
  15.535        typename Observers::iterator it = _observers.begin();
  15.536        while (it != _observers.end()) {
  15.537 @@ -416,12 +403,11 @@
  15.538        }
  15.539      }
  15.540  
  15.541 -    /// \brief Notifies all the registed observers about more item erased
  15.542 -    /// from the container.
  15.543 -    ///
  15.544 -    /// It notifies all the registed observers about more item erased from
  15.545 -    /// the container.
  15.546 -    ///
  15.547 +    // \brief Notifies all the registed observers about more item erased
  15.548 +    // from the container.
  15.549 +    //
  15.550 +    // It notifies all the registed observers about more item erased from
  15.551 +    // the container.
  15.552      void erase(const std::vector<Item>& items) {
  15.553        typename Observers::iterator it = _observers.begin();
  15.554        while (it != _observers.end()) {
  15.555 @@ -436,11 +422,11 @@
  15.556        }
  15.557      }
  15.558  
  15.559 -    /// \brief Notifies all the registed observers about the container is
  15.560 -    /// built.
  15.561 -    ///
  15.562 -    /// Notifies all the registed observers about the container is built
  15.563 -    /// from an empty container.
  15.564 +    // \brief Notifies all the registed observers about the container is
  15.565 +    // built.
  15.566 +    //
  15.567 +    // Notifies all the registed observers about the container is built
  15.568 +    // from an empty container.
  15.569      void build() {
  15.570        typename Observers::reverse_iterator it;
  15.571        try {
  15.572 @@ -456,11 +442,11 @@
  15.573        }
  15.574      }
  15.575  
  15.576 -    /// \brief Notifies all the registed observers about all items are
  15.577 -    /// erased.
  15.578 -    ///
  15.579 -    /// Notifies all the registed observers about all items are erased
  15.580 -    /// from the container.
  15.581 +    // \brief Notifies all the registed observers about all items are
  15.582 +    // erased.
  15.583 +    //
  15.584 +    // Notifies all the registed observers about all items are erased
  15.585 +    // from the container.
  15.586      void clear() {
  15.587        typename Observers::iterator it = _observers.begin();
  15.588        while (it != _observers.end()) {
    16.1 --- a/lemon/bits/array_map.h	Thu Oct 09 16:47:01 2008 +0200
    16.2 +++ b/lemon/bits/array_map.h	Thu Oct 09 16:20:37 2008 +0100
    16.3 @@ -26,48 +26,48 @@
    16.4  #include <lemon/concept_check.h>
    16.5  #include <lemon/concepts/maps.h>
    16.6  
    16.7 -/// \ingroup graphbits
    16.8 -/// \file
    16.9 -/// \brief Graph map based on the array storage.
   16.10 +// \ingroup graphbits
   16.11 +// \file
   16.12 +// \brief Graph map based on the array storage.
   16.13  
   16.14  namespace lemon {
   16.15  
   16.16 -  /// \ingroup graphbits
   16.17 -  ///
   16.18 -  /// \brief Graph map based on the array storage.
   16.19 -  ///
   16.20 -  /// The ArrayMap template class is graph map structure what
   16.21 -  /// automatically updates the map when a key is added to or erased from
   16.22 -  /// the map. This map uses the allocators to implement
   16.23 -  /// the container functionality.
   16.24 -  ///
   16.25 -  /// The template parameters are the Graph the current Item type and
   16.26 -  /// the Value type of the map.
   16.27 +  // \ingroup graphbits
   16.28 +  //
   16.29 +  // \brief Graph map based on the array storage.
   16.30 +  //
   16.31 +  // The ArrayMap template class is graph map structure what
   16.32 +  // automatically updates the map when a key is added to or erased from
   16.33 +  // the map. This map uses the allocators to implement
   16.34 +  // the container functionality.
   16.35 +  //
   16.36 +  // The template parameters are the Graph the current Item type and
   16.37 +  // the Value type of the map.
   16.38    template <typename _Graph, typename _Item, typename _Value>
   16.39    class ArrayMap
   16.40      : public ItemSetTraits<_Graph, _Item>::ItemNotifier::ObserverBase {
   16.41    public:
   16.42 -    /// The graph type of the maps.
   16.43 +    // The graph type of the maps.
   16.44      typedef _Graph Graph;
   16.45 -    /// The item type of the map.
   16.46 +    // The item type of the map.
   16.47      typedef _Item Item;
   16.48 -    /// The reference map tag.
   16.49 +    // The reference map tag.
   16.50      typedef True ReferenceMapTag;
   16.51  
   16.52 -    /// The key type of the maps.
   16.53 +    // The key type of the maps.
   16.54      typedef _Item Key;
   16.55 -    /// The value type of the map.
   16.56 +    // The value type of the map.
   16.57      typedef _Value Value;
   16.58  
   16.59 -    /// The const reference type of the map.
   16.60 +    // The const reference type of the map.
   16.61      typedef const _Value& ConstReference;
   16.62 -    /// The reference type of the map.
   16.63 +    // The reference type of the map.
   16.64      typedef _Value& Reference;
   16.65  
   16.66 -    /// The notifier type.
   16.67 +    // The notifier type.
   16.68      typedef typename ItemSetTraits<_Graph, _Item>::ItemNotifier Notifier;
   16.69  
   16.70 -    /// The MapBase of the Map which imlements the core regisitry function.
   16.71 +    // The MapBase of the Map which imlements the core regisitry function.
   16.72      typedef typename Notifier::ObserverBase Parent;
   16.73  
   16.74    private:
   16.75 @@ -75,9 +75,9 @@
   16.76  
   16.77    public:
   16.78  
   16.79 -    /// \brief Graph initialized map constructor.
   16.80 -    ///
   16.81 -    /// Graph initialized map constructor.
   16.82 +    // \brief Graph initialized map constructor.
   16.83 +    //
   16.84 +    // Graph initialized map constructor.
   16.85      explicit ArrayMap(const Graph& graph) {
   16.86        Parent::attach(graph.notifier(Item()));
   16.87        allocate_memory();
   16.88 @@ -89,9 +89,9 @@
   16.89        }
   16.90      }
   16.91  
   16.92 -    /// \brief Constructor to use default value to initialize the map.
   16.93 -    ///
   16.94 -    /// It constructs a map and initialize all of the the map.
   16.95 +    // \brief Constructor to use default value to initialize the map.
   16.96 +    //
   16.97 +    // It constructs a map and initialize all of the the map.
   16.98      ArrayMap(const Graph& graph, const Value& value) {
   16.99        Parent::attach(graph.notifier(Item()));
  16.100        allocate_memory();
  16.101 @@ -104,9 +104,9 @@
  16.102      }
  16.103  
  16.104    private:
  16.105 -    /// \brief Constructor to copy a map of the same map type.
  16.106 -    ///
  16.107 -    /// Constructor to copy a map of the same map type.
  16.108 +    // \brief Constructor to copy a map of the same map type.
  16.109 +    //
  16.110 +    // Constructor to copy a map of the same map type.
  16.111      ArrayMap(const ArrayMap& copy) : Parent() {
  16.112        if (copy.attached()) {
  16.113          attach(*copy.notifier());
  16.114 @@ -122,24 +122,24 @@
  16.115        }
  16.116      }
  16.117  
  16.118 -    /// \brief Assign operator.
  16.119 -    ///
  16.120 -    /// This operator assigns for each item in the map the
  16.121 -    /// value mapped to the same item in the copied map.
  16.122 -    /// The parameter map should be indiced with the same
  16.123 -    /// itemset because this assign operator does not change
  16.124 -    /// the container of the map.
  16.125 +    // \brief Assign operator.
  16.126 +    //
  16.127 +    // This operator assigns for each item in the map the
  16.128 +    // value mapped to the same item in the copied map.
  16.129 +    // The parameter map should be indiced with the same
  16.130 +    // itemset because this assign operator does not change
  16.131 +    // the container of the map.
  16.132      ArrayMap& operator=(const ArrayMap& cmap) {
  16.133        return operator=<ArrayMap>(cmap);
  16.134      }
  16.135  
  16.136  
  16.137 -    /// \brief Template assign operator.
  16.138 -    ///
  16.139 -    /// The given parameter should be conform to the ReadMap
  16.140 -    /// concecpt and could be indiced by the current item set of
  16.141 -    /// the NodeMap. In this case the value for each item
  16.142 -    /// is assigned by the value of the given ReadMap.
  16.143 +    // \brief Template assign operator.
  16.144 +    //
  16.145 +    // The given parameter should be conform to the ReadMap
  16.146 +    // concecpt and could be indiced by the current item set of
  16.147 +    // the NodeMap. In this case the value for each item
  16.148 +    // is assigned by the value of the given ReadMap.
  16.149      template <typename CMap>
  16.150      ArrayMap& operator=(const CMap& cmap) {
  16.151        checkConcept<concepts::ReadMap<Key, _Value>, CMap>();
  16.152 @@ -152,9 +152,9 @@
  16.153      }
  16.154  
  16.155    public:
  16.156 -    /// \brief The destructor of the map.
  16.157 -    ///
  16.158 -    /// The destructor of the map.
  16.159 +    // \brief The destructor of the map.
  16.160 +    //
  16.161 +    // The destructor of the map.
  16.162      virtual ~ArrayMap() {
  16.163        if (attached()) {
  16.164          clear();
  16.165 @@ -170,38 +170,38 @@
  16.166  
  16.167    public:
  16.168  
  16.169 -    /// \brief The subscript operator.
  16.170 -    ///
  16.171 -    /// The subscript operator. The map can be subscripted by the
  16.172 -    /// actual keys of the graph.
  16.173 +    // \brief The subscript operator.
  16.174 +    //
  16.175 +    // The subscript operator. The map can be subscripted by the
  16.176 +    // actual keys of the graph.
  16.177      Value& operator[](const Key& key) {
  16.178        int id = Parent::notifier()->id(key);
  16.179        return values[id];
  16.180      }
  16.181  
  16.182 -    /// \brief The const subscript operator.
  16.183 -    ///
  16.184 -    /// The const subscript operator. The map can be subscripted by the
  16.185 -    /// actual keys of the graph.
  16.186 +    // \brief The const subscript operator.
  16.187 +    //
  16.188 +    // The const subscript operator. The map can be subscripted by the
  16.189 +    // actual keys of the graph.
  16.190      const Value& operator[](const Key& key) const {
  16.191        int id = Parent::notifier()->id(key);
  16.192        return values[id];
  16.193      }
  16.194  
  16.195 -    /// \brief Setter function of the map.
  16.196 -    ///
  16.197 -    /// Setter function of the map. Equivalent with map[key] = val.
  16.198 -    /// This is a compatibility feature with the not dereferable maps.
  16.199 +    // \brief Setter function of the map.
  16.200 +    //
  16.201 +    // Setter function of the map. Equivalent with map[key] = val.
  16.202 +    // This is a compatibility feature with the not dereferable maps.
  16.203      void set(const Key& key, const Value& val) {
  16.204        (*this)[key] = val;
  16.205      }
  16.206  
  16.207    protected:
  16.208  
  16.209 -    /// \brief Adds a new key to the map.
  16.210 -    ///
  16.211 -    /// It adds a new key to the map. It called by the observer notifier
  16.212 -    /// and it overrides the add() member function of the observer base.
  16.213 +    // \brief Adds a new key to the map.
  16.214 +    //
  16.215 +    // It adds a new key to the map. It called by the observer notifier
  16.216 +    // and it overrides the add() member function of the observer base.
  16.217      virtual void add(const Key& key) {
  16.218        Notifier* nf = Parent::notifier();
  16.219        int id = nf->id(key);
  16.220 @@ -226,10 +226,10 @@
  16.221        allocator.construct(&(values[id]), Value());
  16.222      }
  16.223  
  16.224 -    /// \brief Adds more new keys to the map.
  16.225 -    ///
  16.226 -    /// It adds more new keys to the map. It called by the observer notifier
  16.227 -    /// and it overrides the add() member function of the observer base.
  16.228 +    // \brief Adds more new keys to the map.
  16.229 +    //
  16.230 +    // It adds more new keys to the map. It called by the observer notifier
  16.231 +    // and it overrides the add() member function of the observer base.
  16.232      virtual void add(const std::vector<Key>& keys) {
  16.233        Notifier* nf = Parent::notifier();
  16.234        int max_id = -1;
  16.235 @@ -270,19 +270,19 @@
  16.236        }
  16.237      }
  16.238  
  16.239 -    /// \brief Erase a key from the map.
  16.240 -    ///
  16.241 -    /// Erase a key from the map. It called by the observer notifier
  16.242 -    /// and it overrides the erase() member function of the observer base.
  16.243 +    // \brief Erase a key from the map.
  16.244 +    //
  16.245 +    // Erase a key from the map. It called by the observer notifier
  16.246 +    // and it overrides the erase() member function of the observer base.
  16.247      virtual void erase(const Key& key) {
  16.248        int id = Parent::notifier()->id(key);
  16.249        allocator.destroy(&(values[id]));
  16.250      }
  16.251  
  16.252 -    /// \brief Erase more keys from the map.
  16.253 -    ///
  16.254 -    /// Erase more keys from the map. It called by the observer notifier
  16.255 -    /// and it overrides the erase() member function of the observer base.
  16.256 +    // \brief Erase more keys from the map.
  16.257 +    //
  16.258 +    // Erase more keys from the map. It called by the observer notifier
  16.259 +    // and it overrides the erase() member function of the observer base.
  16.260      virtual void erase(const std::vector<Key>& keys) {
  16.261        for (int i = 0; i < int(keys.size()); ++i) {
  16.262          int id = Parent::notifier()->id(keys[i]);
  16.263 @@ -290,10 +290,10 @@
  16.264        }
  16.265      }
  16.266  
  16.267 -    /// \brief Buildes the map.
  16.268 -    ///
  16.269 -    /// It buildes the map. It called by the observer notifier
  16.270 -    /// and it overrides the build() member function of the observer base.
  16.271 +    // \brief Buildes the map.
  16.272 +    //
  16.273 +    // It buildes the map. It called by the observer notifier
  16.274 +    // and it overrides the build() member function of the observer base.
  16.275      virtual void build() {
  16.276        Notifier* nf = Parent::notifier();
  16.277        allocate_memory();
  16.278 @@ -304,10 +304,10 @@
  16.279        }
  16.280      }
  16.281  
  16.282 -    /// \brief Clear the map.
  16.283 -    ///
  16.284 -    /// It erase all items from the map. It called by the observer notifier
  16.285 -    /// and it overrides the clear() member function of the observer base.
  16.286 +    // \brief Clear the map.
  16.287 +    //
  16.288 +    // It erase all items from the map. It called by the observer notifier
  16.289 +    // and it overrides the clear() member function of the observer base.
  16.290      virtual void clear() {
  16.291        Notifier* nf = Parent::notifier();
  16.292        if (capacity != 0) {
    17.1 --- a/lemon/bits/base_extender.h	Thu Oct 09 16:47:01 2008 +0200
    17.2 +++ b/lemon/bits/base_extender.h	Thu Oct 09 16:20:37 2008 +0100
    17.3 @@ -28,14 +28,14 @@
    17.4  #include <lemon/concept_check.h>
    17.5  #include <lemon/concepts/maps.h>
    17.6  
    17.7 -///\ingroup digraphbits
    17.8 -///\file
    17.9 -///\brief Extenders for the digraph types
   17.10 +//\ingroup digraphbits
   17.11 +//\file
   17.12 +//\brief Extenders for the digraph types
   17.13  namespace lemon {
   17.14  
   17.15 -  /// \ingroup digraphbits
   17.16 -  ///
   17.17 -  /// \brief BaseDigraph to BaseGraph extender
   17.18 +  // \ingroup digraphbits
   17.19 +  //
   17.20 +  // \brief BaseDigraph to BaseGraph extender
   17.21    template <typename Base>
   17.22    class UndirDigraphExtender : public Base {
   17.23  
   17.24 @@ -74,37 +74,37 @@
   17.25        }
   17.26      };
   17.27  
   17.28 -    /// First node of the edge
   17.29 +    // First node of the edge
   17.30      Node u(const Edge &e) const {
   17.31        return Parent::source(e);
   17.32      }
   17.33  
   17.34 -    /// Source of the given arc
   17.35 +    // Source of the given arc
   17.36      Node source(const Arc &e) const {
   17.37        return e.forward ? Parent::source(e) : Parent::target(e);
   17.38      }
   17.39  
   17.40 -    /// Second node of the edge
   17.41 +    // Second node of the edge
   17.42      Node v(const Edge &e) const {
   17.43        return Parent::target(e);
   17.44      }
   17.45  
   17.46 -    /// Target of the given arc
   17.47 +    // Target of the given arc
   17.48      Node target(const Arc &e) const {
   17.49        return e.forward ? Parent::target(e) : Parent::source(e);
   17.50      }
   17.51  
   17.52 -    /// \brief Directed arc from an edge.
   17.53 -    ///
   17.54 -    /// Returns a directed arc corresponding to the specified edge.
   17.55 -    /// If the given bool is true, the first node of the given edge and
   17.56 -    /// the source node of the returned arc are the same.
   17.57 +    // \brief Directed arc from an edge.
   17.58 +    //
   17.59 +    // Returns a directed arc corresponding to the specified edge.
   17.60 +    // If the given bool is true, the first node of the given edge and
   17.61 +    // the source node of the returned arc are the same.
   17.62      static Arc direct(const Edge &e, bool d) {
   17.63        return Arc(e, d);
   17.64      }
   17.65  
   17.66 -    /// Returns whether the given directed arc has the same orientation
   17.67 -    /// as the corresponding edge.
   17.68 +    // Returns whether the given directed arc has the same orientation
   17.69 +    // as the corresponding edge.
   17.70      static bool direction(const Arc &a) { return a.forward; }
   17.71  
   17.72      using Parent::first;
    18.1 --- a/lemon/bits/bezier.h	Thu Oct 09 16:47:01 2008 +0200
    18.2 +++ b/lemon/bits/bezier.h	Thu Oct 09 16:20:37 2008 +0100
    18.3 @@ -19,11 +19,11 @@
    18.4  #ifndef LEMON_BEZIER_H
    18.5  #define LEMON_BEZIER_H
    18.6  
    18.7 -///\ingroup misc
    18.8 -///\file
    18.9 -///\brief Classes to compute with Bezier curves.
   18.10 -///
   18.11 -///Up to now this file is used internally by \ref graph_to_eps.h
   18.12 +//\ingroup misc
   18.13 +//\file
   18.14 +//\brief Classes to compute with Bezier curves.
   18.15 +//
   18.16 +//Up to now this file is used internally by \ref graph_to_eps.h
   18.17  
   18.18  #include<lemon/dim2.h>
   18.19  
    19.1 --- a/lemon/bits/default_map.h	Thu Oct 09 16:47:01 2008 +0200
    19.2 +++ b/lemon/bits/default_map.h	Thu Oct 09 16:20:37 2008 +0100
    19.3 @@ -19,14 +19,13 @@
    19.4  #ifndef LEMON_BITS_DEFAULT_MAP_H
    19.5  #define LEMON_BITS_DEFAULT_MAP_H
    19.6  
    19.7 -
    19.8  #include <lemon/bits/array_map.h>
    19.9  #include <lemon/bits/vector_map.h>
   19.10  //#include <lemon/bits/debug_map.h>
   19.11  
   19.12 -///\ingroup graphbits
   19.13 -///\file
   19.14 -///\brief Graph maps that construct and destruct their elements dynamically.
   19.15 +//\ingroup graphbits
   19.16 +//\file
   19.17 +//\brief Graph maps that construct and destruct their elements dynamically.
   19.18  
   19.19  namespace lemon {
   19.20  
   19.21 @@ -149,7 +148,7 @@
   19.22  
   19.23  // #endif
   19.24  
   19.25 -  /// \e
   19.26 +  // DefaultMap class
   19.27    template <typename _Graph, typename _Item, typename _Value>
   19.28    class DefaultMap
   19.29      : public DefaultMapSelector<_Graph, _Item, _Value>::Map {
    20.1 --- a/lemon/bits/enable_if.h	Thu Oct 09 16:47:01 2008 +0200
    20.2 +++ b/lemon/bits/enable_if.h	Thu Oct 09 16:20:37 2008 +0100
    20.3 @@ -35,29 +35,29 @@
    20.4  #ifndef LEMON_BITS_ENABLE_IF_H
    20.5  #define LEMON_BITS_ENABLE_IF_H
    20.6  
    20.7 -///\file
    20.8 -///\brief Miscellaneous basic utilities
    20.9 +//\file
   20.10 +//\brief Miscellaneous basic utilities
   20.11  
   20.12  namespace lemon
   20.13  {
   20.14  
   20.15 -  /// Basic type for defining "tags". A "YES" condition for \c enable_if.
   20.16 +  // Basic type for defining "tags". A "YES" condition for \c enable_if.
   20.17  
   20.18 -  /// Basic type for defining "tags". A "YES" condition for \c enable_if.
   20.19 -  ///
   20.20 -  ///\sa False
   20.21 +  // Basic type for defining "tags". A "YES" condition for \c enable_if.
   20.22 +  //
   20.23 +  //\sa False
   20.24    struct True {
   20.25 -    ///\e
   20.26 +    //\e
   20.27      static const bool value = true;
   20.28    };
   20.29  
   20.30 -  /// Basic type for defining "tags". A "NO" condition for \c enable_if.
   20.31 +  // Basic type for defining "tags". A "NO" condition for \c enable_if.
   20.32  
   20.33 -  /// Basic type for defining "tags". A "NO" condition for \c enable_if.
   20.34 -  ///
   20.35 -  ///\sa True
   20.36 +  // Basic type for defining "tags". A "NO" condition for \c enable_if.
   20.37 +  //
   20.38 +  //\sa True
   20.39    struct False {
   20.40 -    ///\e
   20.41 +    //\e
   20.42      static const bool value = false;
   20.43    };
   20.44  
    21.1 --- a/lemon/bits/graph_extender.h	Thu Oct 09 16:47:01 2008 +0200
    21.2 +++ b/lemon/bits/graph_extender.h	Thu Oct 09 16:20:37 2008 +0100
    21.3 @@ -27,14 +27,14 @@
    21.4  #include <lemon/concept_check.h>
    21.5  #include <lemon/concepts/maps.h>
    21.6  
    21.7 -///\ingroup graphbits
    21.8 -///\file
    21.9 -///\brief Extenders for the digraph types
   21.10 +//\ingroup graphbits
   21.11 +//\file
   21.12 +//\brief Extenders for the digraph types
   21.13  namespace lemon {
   21.14  
   21.15 -  /// \ingroup graphbits
   21.16 -  ///
   21.17 -  /// \brief Extender for the Digraphs
   21.18 +  // \ingroup graphbits
   21.19 +  //
   21.20 +  // \brief Extender for the Digraphs
   21.21    template <typename Base>
   21.22    class DigraphExtender : public Base {
   21.23    public:
   21.24 @@ -186,30 +186,30 @@
   21.25  
   21.26      };
   21.27  
   21.28 -    /// \brief Base node of the iterator
   21.29 -    ///
   21.30 -    /// Returns the base node (i.e. the source in this case) of the iterator
   21.31 +    // \brief Base node of the iterator
   21.32 +    //
   21.33 +    // Returns the base node (i.e. the source in this case) of the iterator
   21.34      Node baseNode(const OutArcIt &arc) const {
   21.35        return Parent::source(arc);
   21.36      }
   21.37 -    /// \brief Running node of the iterator
   21.38 -    ///
   21.39 -    /// Returns the running node (i.e. the target in this case) of the
   21.40 -    /// iterator
   21.41 +    // \brief Running node of the iterator
   21.42 +    //
   21.43 +    // Returns the running node (i.e. the target in this case) of the
   21.44 +    // iterator
   21.45      Node runningNode(const OutArcIt &arc) const {
   21.46        return Parent::target(arc);
   21.47      }
   21.48  
   21.49 -    /// \brief Base node of the iterator
   21.50 -    ///
   21.51 -    /// Returns the base node (i.e. the target in this case) of the iterator
   21.52 +    // \brief Base node of the iterator
   21.53 +    //
   21.54 +    // Returns the base node (i.e. the target in this case) of the iterator
   21.55      Node baseNode(const InArcIt &arc) const {
   21.56        return Parent::target(arc);
   21.57      }
   21.58 -    /// \brief Running node of the iterator
   21.59 -    ///
   21.60 -    /// Returns the running node (i.e. the source in this case) of the
   21.61 -    /// iterator
   21.62 +    // \brief Running node of the iterator
   21.63 +    //
   21.64 +    // Returns the running node (i.e. the source in this case) of the
   21.65 +    // iterator
   21.66      Node runningNode(const InArcIt &arc) const {
   21.67        return Parent::source(arc);
   21.68      }
   21.69 @@ -325,9 +325,9 @@
   21.70      }
   21.71    };
   21.72  
   21.73 -  /// \ingroup _graphbits
   21.74 -  ///
   21.75 -  /// \brief Extender for the Graphs
   21.76 +  // \ingroup _graphbits
   21.77 +  //
   21.78 +  // \brief Extender for the Graphs
   21.79    template <typename Base>
   21.80    class GraphExtender : public Base {
   21.81    public:
   21.82 @@ -555,43 +555,43 @@
   21.83        }
   21.84      };
   21.85  
   21.86 -    /// \brief Base node of the iterator
   21.87 -    ///
   21.88 -    /// Returns the base node (ie. the source in this case) of the iterator
   21.89 +    // \brief Base node of the iterator
   21.90 +    //
   21.91 +    // Returns the base node (ie. the source in this case) of the iterator
   21.92      Node baseNode(const OutArcIt &arc) const {
   21.93        return Parent::source(static_cast<const Arc&>(arc));
   21.94      }
   21.95 -    /// \brief Running node of the iterator
   21.96 -    ///
   21.97 -    /// Returns the running node (ie. the target in this case) of the
   21.98 -    /// iterator
   21.99 +    // \brief Running node of the iterator
  21.100 +    //
  21.101 +    // Returns the running node (ie. the target in this case) of the
  21.102 +    // iterator
  21.103      Node runningNode(const OutArcIt &arc) const {
  21.104        return Parent::target(static_cast<const Arc&>(arc));
  21.105      }
  21.106  
  21.107 -    /// \brief Base node of the iterator
  21.108 -    ///
  21.109 -    /// Returns the base node (ie. the target in this case) of the iterator
  21.110 +    // \brief Base node of the iterator
  21.111 +    //
  21.112 +    // Returns the base node (ie. the target in this case) of the iterator
  21.113      Node baseNode(const InArcIt &arc) const {
  21.114        return Parent::target(static_cast<const Arc&>(arc));
  21.115      }
  21.116 -    /// \brief Running node of the iterator
  21.117 -    ///
  21.118 -    /// Returns the running node (ie. the source in this case) of the
  21.119 -    /// iterator
  21.120 +    // \brief Running node of the iterator
  21.121 +    //
  21.122 +    // Returns the running node (ie. the source in this case) of the
  21.123 +    // iterator
  21.124      Node runningNode(const InArcIt &arc) const {
  21.125        return Parent::source(static_cast<const Arc&>(arc));
  21.126      }
  21.127  
  21.128 -    /// Base node of the iterator
  21.129 -    ///
  21.130 -    /// Returns the base node of the iterator
  21.131 +    // Base node of the iterator
  21.132 +    //
  21.133 +    // Returns the base node of the iterator
  21.134      Node baseNode(const IncEdgeIt &edge) const {
  21.135        return edge._direction ? u(edge) : v(edge);
  21.136      }
  21.137 -    /// Running node of the iterator
  21.138 -    ///
  21.139 -    /// Returns the running node of the iterator
  21.140 +    // Running node of the iterator
  21.141 +    //
  21.142 +    // Returns the running node of the iterator
  21.143      Node runningNode(const IncEdgeIt &edge) const {
  21.144        return edge._direction ? v(edge) : u(edge);
  21.145      }
    22.1 --- a/lemon/bits/map_extender.h	Thu Oct 09 16:47:01 2008 +0200
    22.2 +++ b/lemon/bits/map_extender.h	Thu Oct 09 16:20:37 2008 +0100
    22.3 @@ -26,14 +26,14 @@
    22.4  #include <lemon/concept_check.h>
    22.5  #include <lemon/concepts/maps.h>
    22.6  
    22.7 -///\file
    22.8 -///\brief Extenders for iterable maps.
    22.9 +//\file
   22.10 +//\brief Extenders for iterable maps.
   22.11  
   22.12  namespace lemon {
   22.13  
   22.14 -  /// \ingroup graphbits
   22.15 -  ///
   22.16 -  /// \brief Extender for maps
   22.17 +  // \ingroup graphbits
   22.18 +  //
   22.19 +  // \brief Extender for maps
   22.20    template <typename _Map>
   22.21    class MapExtender : public _Map {
   22.22    public:
   22.23 @@ -171,9 +171,9 @@
   22.24      };
   22.25    };
   22.26  
   22.27 -  /// \ingroup graphbits
   22.28 -  ///
   22.29 -  /// \brief Extender for maps which use a subset of the items.
   22.30 +  // \ingroup graphbits
   22.31 +  //
   22.32 +  // \brief Extender for maps which use a subset of the items.
   22.33    template <typename _Graph, typename _Map>
   22.34    class SubMapExtender : public _Map {
   22.35    public:
    23.1 --- a/lemon/bits/traits.h	Thu Oct 09 16:47:01 2008 +0200
    23.2 +++ b/lemon/bits/traits.h	Thu Oct 09 16:20:37 2008 +0100
    23.3 @@ -19,9 +19,9 @@
    23.4  #ifndef LEMON_BITS_TRAITS_H
    23.5  #define LEMON_BITS_TRAITS_H
    23.6  
    23.7 -///\file
    23.8 -///\brief Traits for graphs and maps
    23.9 -///
   23.10 +//\file
   23.11 +//\brief Traits for graphs and maps
   23.12 +//
   23.13  
   23.14  #include <lemon/bits/enable_if.h>
   23.15  
    24.1 --- a/lemon/bits/vector_map.h	Thu Oct 09 16:47:01 2008 +0200
    24.2 +++ b/lemon/bits/vector_map.h	Thu Oct 09 16:20:37 2008 +0100
    24.3 @@ -28,81 +28,81 @@
    24.4  #include <lemon/concept_check.h>
    24.5  #include <lemon/concepts/maps.h>
    24.6  
    24.7 -///\ingroup graphbits
    24.8 -///
    24.9 -///\file
   24.10 -///\brief Vector based graph maps.
   24.11 +//\ingroup graphbits
   24.12 +//
   24.13 +//\file
   24.14 +//\brief Vector based graph maps.
   24.15  namespace lemon {
   24.16  
   24.17 -  /// \ingroup graphbits
   24.18 -  ///
   24.19 -  /// \brief Graph map based on the std::vector storage.
   24.20 -  ///
   24.21 -  /// The VectorMap template class is graph map structure what
   24.22 -  /// automatically updates the map when a key is added to or erased from
   24.23 -  /// the map. This map type uses the std::vector to store the values.
   24.24 -  ///
   24.25 -  /// \tparam _Graph The graph this map is attached to.
   24.26 -  /// \tparam _Item The item type of the graph items.
   24.27 -  /// \tparam _Value The value type of the map.
   24.28 +  // \ingroup graphbits
   24.29 +  //
   24.30 +  // \brief Graph map based on the std::vector storage.
   24.31 +  //
   24.32 +  // The VectorMap template class is graph map structure what
   24.33 +  // automatically updates the map when a key is added to or erased from
   24.34 +  // the map. This map type uses the std::vector to store the values.
   24.35 +  //
   24.36 +  // \tparam _Graph The graph this map is attached to.
   24.37 +  // \tparam _Item The item type of the graph items.
   24.38 +  // \tparam _Value The value type of the map.
   24.39    template <typename _Graph, typename _Item, typename _Value>
   24.40    class VectorMap
   24.41      : public ItemSetTraits<_Graph, _Item>::ItemNotifier::ObserverBase {
   24.42    private:
   24.43  
   24.44 -    /// The container type of the map.
   24.45 +    // The container type of the map.
   24.46      typedef std::vector<_Value> Container;
   24.47  
   24.48    public:
   24.49  
   24.50 -    /// The graph type of the map.
   24.51 +    // The graph type of the map.
   24.52      typedef _Graph Graph;
   24.53 -    /// The item type of the map.
   24.54 +    // The item type of the map.
   24.55      typedef _Item Item;
   24.56 -    /// The reference map tag.
   24.57 +    // The reference map tag.
   24.58      typedef True ReferenceMapTag;
   24.59  
   24.60 -    /// The key type of the map.
   24.61 +    // The key type of the map.
   24.62      typedef _Item Key;
   24.63 -    /// The value type of the map.
   24.64 +    // The value type of the map.
   24.65      typedef _Value Value;
   24.66  
   24.67 -    /// The notifier type.
   24.68 +    // The notifier type.
   24.69      typedef typename ItemSetTraits<_Graph, _Item>::ItemNotifier Notifier;
   24.70  
   24.71 -    /// The map type.
   24.72 +    // The map type.
   24.73      typedef VectorMap Map;
   24.74 -    /// The base class of the map.
   24.75 +    // The base class of the map.
   24.76      typedef typename Notifier::ObserverBase Parent;
   24.77  
   24.78 -    /// The reference type of the map;
   24.79 +    // The reference type of the map;
   24.80      typedef typename Container::reference Reference;
   24.81 -    /// The const reference type of the map;
   24.82 +    // The const reference type of the map;
   24.83      typedef typename Container::const_reference ConstReference;
   24.84  
   24.85  
   24.86 -    /// \brief Constructor to attach the new map into the notifier.
   24.87 -    ///
   24.88 -    /// It constructs a map and attachs it into the notifier.
   24.89 -    /// It adds all the items of the graph to the map.
   24.90 +    // \brief Constructor to attach the new map into the notifier.
   24.91 +    //
   24.92 +    // It constructs a map and attachs it into the notifier.
   24.93 +    // It adds all the items of the graph to the map.
   24.94      VectorMap(const Graph& graph) {
   24.95        Parent::attach(graph.notifier(Item()));
   24.96        container.resize(Parent::notifier()->maxId() + 1);
   24.97      }
   24.98  
   24.99 -    /// \brief Constructor uses given value to initialize the map.
  24.100 -    ///
  24.101 -    /// It constructs a map uses a given value to initialize the map.
  24.102 -    /// It adds all the items of the graph to the map.
  24.103 +    // \brief Constructor uses given value to initialize the map.
  24.104 +    //
  24.105 +    // It constructs a map uses a given value to initialize the map.
  24.106 +    // It adds all the items of the graph to the map.
  24.107      VectorMap(const Graph& graph, const Value& value) {
  24.108        Parent::attach(graph.notifier(Item()));
  24.109        container.resize(Parent::notifier()->maxId() + 1, value);
  24.110      }
  24.111  
  24.112    private:
  24.113 -    /// \brief Copy constructor
  24.114 -    ///
  24.115 -    /// Copy constructor.
  24.116 +    // \brief Copy constructor
  24.117 +    //
  24.118 +    // Copy constructor.
  24.119      VectorMap(const VectorMap& _copy) : Parent() {
  24.120        if (_copy.attached()) {
  24.121          Parent::attach(*_copy.notifier());
  24.122 @@ -110,24 +110,24 @@
  24.123        }
  24.124      }
  24.125  
  24.126 -    /// \brief Assign operator.
  24.127 -    ///
  24.128 -    /// This operator assigns for each item in the map the
  24.129 -    /// value mapped to the same item in the copied map.
  24.130 -    /// The parameter map should be indiced with the same
  24.131 -    /// itemset because this assign operator does not change
  24.132 -    /// the container of the map.
  24.133 +    // \brief Assign operator.
  24.134 +    //
  24.135 +    // This operator assigns for each item in the map the
  24.136 +    // value mapped to the same item in the copied map.
  24.137 +    // The parameter map should be indiced with the same
  24.138 +    // itemset because this assign operator does not change
  24.139 +    // the container of the map.
  24.140      VectorMap& operator=(const VectorMap& cmap) {
  24.141        return operator=<VectorMap>(cmap);
  24.142      }
  24.143  
  24.144  
  24.145 -    /// \brief Template assign operator.
  24.146 -    ///
  24.147 -    /// The given parameter should be conform to the ReadMap
  24.148 -    /// concecpt and could be indiced by the current item set of
  24.149 -    /// the NodeMap. In this case the value for each item
  24.150 -    /// is assigned by the value of the given ReadMap.
  24.151 +    // \brief Template assign operator.
  24.152 +    //
  24.153 +    // The given parameter should be conform to the ReadMap
  24.154 +    // concecpt and could be indiced by the current item set of
  24.155 +    // the NodeMap. In this case the value for each item
  24.156 +    // is assigned by the value of the given ReadMap.
  24.157      template <typename CMap>
  24.158      VectorMap& operator=(const CMap& cmap) {
  24.159        checkConcept<concepts::ReadMap<Key, _Value>, CMap>();
  24.160 @@ -141,36 +141,36 @@
  24.161  
  24.162    public:
  24.163  
  24.164 -    /// \brief The subcript operator.
  24.165 -    ///
  24.166 -    /// The subscript operator. The map can be subscripted by the
  24.167 -    /// actual items of the graph.
  24.168 +    // \brief The subcript operator.
  24.169 +    //
  24.170 +    // The subscript operator. The map can be subscripted by the
  24.171 +    // actual items of the graph.
  24.172      Reference operator[](const Key& key) {
  24.173        return container[Parent::notifier()->id(key)];
  24.174      }
  24.175  
  24.176 -    /// \brief The const subcript operator.
  24.177 -    ///
  24.178 -    /// The const subscript operator. The map can be subscripted by the
  24.179 -    /// actual items of the graph.
  24.180 +    // \brief The const subcript operator.
  24.181 +    //
  24.182 +    // The const subscript operator. The map can be subscripted by the
  24.183 +    // actual items of the graph.
  24.184      ConstReference operator[](const Key& key) const {
  24.185        return container[Parent::notifier()->id(key)];
  24.186      }
  24.187  
  24.188  
  24.189 -    /// \brief The setter function of the map.
  24.190 -    ///
  24.191 -    /// It the same as operator[](key) = value expression.
  24.192 +    // \brief The setter function of the map.
  24.193 +    //
  24.194 +    // It the same as operator[](key) = value expression.
  24.195      void set(const Key& key, const Value& value) {
  24.196        (*this)[key] = value;
  24.197      }
  24.198  
  24.199    protected:
  24.200  
  24.201 -    /// \brief Adds a new key to the map.
  24.202 -    ///
  24.203 -    /// It adds a new key to the map. It called by the observer notifier
  24.204 -    /// and it overrides the add() member function of the observer base.
  24.205 +    // \brief Adds a new key to the map.
  24.206 +    //
  24.207 +    // It adds a new key to the map. It called by the observer notifier
  24.208 +    // and it overrides the add() member function of the observer base.
  24.209      virtual void add(const Key& key) {
  24.210        int id = Parent::notifier()->id(key);
  24.211        if (id >= int(container.size())) {
  24.212 @@ -178,10 +178,10 @@
  24.213        }
  24.214      }
  24.215  
  24.216 -    /// \brief Adds more new keys to the map.
  24.217 -    ///
  24.218 -    /// It adds more new keys to the map. It called by the observer notifier
  24.219 -    /// and it overrides the add() member function of the observer base.
  24.220 +    // \brief Adds more new keys to the map.
  24.221 +    //
  24.222 +    // It adds more new keys to the map. It called by the observer notifier
  24.223 +    // and it overrides the add() member function of the observer base.
  24.224      virtual void add(const std::vector<Key>& keys) {
  24.225        int max = container.size() - 1;
  24.226        for (int i = 0; i < int(keys.size()); ++i) {
  24.227 @@ -193,38 +193,38 @@
  24.228        container.resize(max + 1);
  24.229      }
  24.230  
  24.231 -    /// \brief Erase a key from the map.
  24.232 -    ///
  24.233 -    /// Erase a key from the map. It called by the observer notifier
  24.234 -    /// and it overrides the erase() member function of the observer base.
  24.235 +    // \brief Erase a key from the map.
  24.236 +    //
  24.237 +    // Erase a key from the map. It called by the observer notifier
  24.238 +    // and it overrides the erase() member function of the observer base.
  24.239      virtual void erase(const Key& key) {
  24.240        container[Parent::notifier()->id(key)] = Value();
  24.241      }
  24.242  
  24.243 -    /// \brief Erase more keys from the map.
  24.244 -    ///
  24.245 -    /// Erase more keys from the map. It called by the observer notifier
  24.246 -    /// and it overrides the erase() member function of the observer base.
  24.247 +    // \brief Erase more keys from the map.
  24.248 +    //
  24.249 +    // Erase more keys from the map. It called by the observer notifier
  24.250 +    // and it overrides the erase() member function of the observer base.
  24.251      virtual void erase(const std::vector<Key>& keys) {
  24.252        for (int i = 0; i < int(keys.size()); ++i) {
  24.253          container[Parent::notifier()->id(keys[i])] = Value();
  24.254        }
  24.255      }
  24.256  
  24.257 -    /// \brief Buildes the map.
  24.258 -    ///
  24.259 -    /// It buildes the map. It called by the observer notifier
  24.260 -    /// and it overrides the build() member function of the observer base.
  24.261 +    // \brief Buildes the map.
  24.262 +    //
  24.263 +    // It buildes the map. It called by the observer notifier
  24.264 +    // and it overrides the build() member function of the observer base.
  24.265      virtual void build() {
  24.266        int size = Parent::notifier()->maxId() + 1;
  24.267        container.reserve(size);
  24.268        container.resize(size);
  24.269      }
  24.270  
  24.271 -    /// \brief Clear the map.
  24.272 -    ///
  24.273 -    /// It erase all items from the map. It called by the observer notifier
  24.274 -    /// and it overrides the clear() member function of the observer base.
  24.275 +    // \brief Clear the map.
  24.276 +    //
  24.277 +    // It erase all items from the map. It called by the observer notifier
  24.278 +    // and it overrides the clear() member function of the observer base.
  24.279      virtual void clear() {
  24.280        container.clear();
  24.281      }
    25.1 --- a/lemon/color.h	Thu Oct 09 16:47:01 2008 +0200
    25.2 +++ b/lemon/color.h	Thu Oct 09 16:20:37 2008 +0100
    25.3 @@ -92,7 +92,7 @@
    25.4    /// Dark cyan color constant
    25.5    extern const Color DARK_CYAN;
    25.6  
    25.7 -  ///Map <tt>int</tt>s to different \ref Color "Color"s
    25.8 +  ///Map <tt>int</tt>s to different <tt>Color</tt>s
    25.9  
   25.10    ///This map assigns one of the predefined \ref Color "Color"s to
   25.11    ///each <tt>int</tt>. It is possible to change the colors as well as
    26.1 --- a/lemon/concepts/graph_components.h	Thu Oct 09 16:47:01 2008 +0200
    26.2 +++ b/lemon/concepts/graph_components.h	Thu Oct 09 16:20:37 2008 +0100
    26.3 @@ -982,7 +982,7 @@
    26.4      /// \brief Class describing the concept of graph maps
    26.5      ///
    26.6      /// This class describes the common interface of the graph maps
    26.7 -    /// (NodeMap, ArcMap), that is \ref maps-page "maps" which can be used to
    26.8 +    /// (NodeMap, ArcMap), that is maps that can be used to
    26.9      /// associate data to graph descriptors (nodes or arcs).
   26.10      template <typename _Graph, typename _Item, typename _Value>
   26.11      class GraphMap : public ReadWriteMap<_Item, _Value> {
    27.1 --- a/lemon/concepts/maps.h	Thu Oct 09 16:47:01 2008 +0200
    27.2 +++ b/lemon/concepts/maps.h	Thu Oct 09 16:20:37 2008 +0100
    27.3 @@ -22,7 +22,7 @@
    27.4  #include <lemon/core.h>
    27.5  #include <lemon/concept_check.h>
    27.6  
    27.7 -///\ingroup concept
    27.8 +///\ingroup map_concepts
    27.9  ///\file
   27.10  ///\brief The concept of maps.
   27.11  
   27.12 @@ -30,7 +30,7 @@
   27.13  
   27.14    namespace concepts {
   27.15  
   27.16 -    /// \addtogroup concept
   27.17 +    /// \addtogroup map_concepts
   27.18      /// @{
   27.19  
   27.20      /// Readable map concept
    28.1 --- a/lemon/core.h	Thu Oct 09 16:47:01 2008 +0200
    28.2 +++ b/lemon/core.h	Thu Oct 09 16:20:37 2008 +0100
    28.3 @@ -58,7 +58,7 @@
    28.4    /// \addtogroup gutils
    28.5    /// @{
    28.6  
    28.7 -  ///Create convenient typedefs for the digraph types and iterators
    28.8 +  ///Create convenience typedefs for the digraph types and iterators
    28.9  
   28.10    ///This \c \#define creates convenient type definitions for the following
   28.11    ///types of \c Digraph: \c Node,  \c NodeIt, \c Arc, \c ArcIt, \c InArcIt,
   28.12 @@ -80,9 +80,9 @@
   28.13    typedef Digraph::NodeMap<double> DoubleNodeMap;                       \
   28.14    typedef Digraph::ArcMap<bool> BoolArcMap;                             \
   28.15    typedef Digraph::ArcMap<int> IntArcMap;                               \
   28.16 -  typedef Digraph::ArcMap<double> DoubleArcMap;
   28.17 +  typedef Digraph::ArcMap<double> DoubleArcMap
   28.18  
   28.19 -  ///Create convenient typedefs for the digraph types and iterators
   28.20 +  ///Create convenience typedefs for the digraph types and iterators
   28.21  
   28.22    ///\see DIGRAPH_TYPEDEFS
   28.23    ///
   28.24 @@ -100,9 +100,9 @@
   28.25    typedef typename Digraph::template NodeMap<double> DoubleNodeMap;     \
   28.26    typedef typename Digraph::template ArcMap<bool> BoolArcMap;           \
   28.27    typedef typename Digraph::template ArcMap<int> IntArcMap;             \
   28.28 -  typedef typename Digraph::template ArcMap<double> DoubleArcMap;
   28.29 +  typedef typename Digraph::template ArcMap<double> DoubleArcMap
   28.30  
   28.31 -  ///Create convenient typedefs for the graph types and iterators
   28.32 +  ///Create convenience typedefs for the graph types and iterators
   28.33  
   28.34    ///This \c \#define creates the same convenient type definitions as defined
   28.35    ///by \ref DIGRAPH_TYPEDEFS(Graph) and six more, namely it creates
   28.36 @@ -119,9 +119,9 @@
   28.37    typedef Graph::IncEdgeIt IncEdgeIt;                                   \
   28.38    typedef Graph::EdgeMap<bool> BoolEdgeMap;                             \
   28.39    typedef Graph::EdgeMap<int> IntEdgeMap;                               \
   28.40 -  typedef Graph::EdgeMap<double> DoubleEdgeMap;
   28.41 +  typedef Graph::EdgeMap<double> DoubleEdgeMap
   28.42  
   28.43 -  ///Create convenient typedefs for the graph types and iterators
   28.44 +  ///Create convenience typedefs for the graph types and iterators
   28.45  
   28.46    ///\see GRAPH_TYPEDEFS
   28.47    ///
   28.48 @@ -134,7 +134,7 @@
   28.49    typedef typename Graph::IncEdgeIt IncEdgeIt;                          \
   28.50    typedef typename Graph::template EdgeMap<bool> BoolEdgeMap;           \
   28.51    typedef typename Graph::template EdgeMap<int> IntEdgeMap;             \
   28.52 -  typedef typename Graph::template EdgeMap<double> DoubleEdgeMap;
   28.53 +  typedef typename Graph::template EdgeMap<double> DoubleEdgeMap
   28.54  
   28.55    /// \brief Function to count the items in a graph.
   28.56    ///
   28.57 @@ -1554,7 +1554,7 @@
   28.58      ///\note This is a dynamic data structure, therefore the data
   28.59      ///structure is updated after each graph alteration. Thus although
   28.60      ///this data structure is theoretically faster than \ref ArcLookUp
   28.61 -    ///and \ref AllArcLookup, it often provides worse performance than
   28.62 +    ///and \ref AllArcLookUp, it often provides worse performance than
   28.63      ///them.
   28.64      Arc operator()(Node s, Node t, Arc p = INVALID) const  {
   28.65        if (p == INVALID) {
   28.66 @@ -1699,8 +1699,8 @@
   28.67  
   28.68      ///Find an arc between two nodes.
   28.69  
   28.70 -    ///Find an arc between two nodes in time <em>O</em>(log<em>d</em>), where
   28.71 -    ///<em>d</em> is the number of outgoing arcs of \c s.
   28.72 +    ///Find an arc between two nodes in time <em>O</em>(log<em>d</em>),
   28.73 +    ///where <em>d</em> is the number of outgoing arcs of \c s.
   28.74      ///\param s The source node.
   28.75      ///\param t The target node.
   28.76      ///\return An arc from \c s to \c t if there exists,
   28.77 @@ -1817,8 +1817,8 @@
   28.78      ///for(Arc a = ae(u,v); a != INVALID; a=ae(u,v,a)) n++;
   28.79      ///\endcode
   28.80      ///
   28.81 -    ///Finding the first arc take <em>O</em>(log<em>d</em>) time, where
   28.82 -    ///<em>d</em> is the number of outgoing arcs of \c s. Then, the
   28.83 +    ///Finding the first arc take <em>O</em>(log<em>d</em>) time,
   28.84 +    ///where <em>d</em> is the number of outgoing arcs of \c s. Then the
   28.85      ///consecutive arcs are found in constant time.
   28.86      ///
   28.87      ///\warning If you change the digraph, refresh() must be called before using
    29.1 --- a/lemon/dfs.h	Thu Oct 09 16:47:01 2008 +0200
    29.2 +++ b/lemon/dfs.h	Thu Oct 09 16:20:37 2008 +0100
    29.3 @@ -50,11 +50,11 @@
    29.4      ///arcs of the %DFS paths.
    29.5      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
    29.6      typedef typename Digraph::template NodeMap<typename Digraph::Arc> PredMap;
    29.7 -    ///Instantiates a \ref PredMap.
    29.8 +    ///Instantiates a PredMap.
    29.9  
   29.10 -    ///This function instantiates a \ref PredMap.
   29.11 +    ///This function instantiates a PredMap.
   29.12      ///\param g is the digraph, to which we would like to define the
   29.13 -    ///\ref PredMap.
   29.14 +    ///PredMap.
   29.15      static PredMap *createPredMap(const Digraph &g)
   29.16      {
   29.17        return new PredMap(g);
   29.18 @@ -65,11 +65,11 @@
   29.19      ///The type of the map that indicates which nodes are processed.
   29.20      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
   29.21      typedef NullMap<typename Digraph::Node,bool> ProcessedMap;
   29.22 -    ///Instantiates a \ref ProcessedMap.
   29.23 +    ///Instantiates a ProcessedMap.
   29.24  
   29.25 -    ///This function instantiates a \ref ProcessedMap.
   29.26 +    ///This function instantiates a ProcessedMap.
   29.27      ///\param g is the digraph, to which
   29.28 -    ///we would like to define the \ref ProcessedMap
   29.29 +    ///we would like to define the ProcessedMap
   29.30  #ifdef DOXYGEN
   29.31      static ProcessedMap *createProcessedMap(const Digraph &g)
   29.32  #else
   29.33 @@ -84,11 +84,11 @@
   29.34      ///The type of the map that indicates which nodes are reached.
   29.35      ///It must meet the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
   29.36      typedef typename Digraph::template NodeMap<bool> ReachedMap;
   29.37 -    ///Instantiates a \ref ReachedMap.
   29.38 +    ///Instantiates a ReachedMap.
   29.39  
   29.40 -    ///This function instantiates a \ref ReachedMap.
   29.41 +    ///This function instantiates a ReachedMap.
   29.42      ///\param g is the digraph, to which
   29.43 -    ///we would like to define the \ref ReachedMap.
   29.44 +    ///we would like to define the ReachedMap.
   29.45      static ReachedMap *createReachedMap(const Digraph &g)
   29.46      {
   29.47        return new ReachedMap(g);
   29.48 @@ -99,11 +99,11 @@
   29.49      ///The type of the map that stores the distances of the nodes.
   29.50      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
   29.51      typedef typename Digraph::template NodeMap<int> DistMap;
   29.52 -    ///Instantiates a \ref DistMap.
   29.53 +    ///Instantiates a DistMap.
   29.54  
   29.55 -    ///This function instantiates a \ref DistMap.
   29.56 +    ///This function instantiates a DistMap.
   29.57      ///\param g is the digraph, to which we would like to define the
   29.58 -    ///\ref DistMap.
   29.59 +    ///DistMap.
   29.60      static DistMap *createDistMap(const Digraph &g)
   29.61      {
   29.62        return new DistMap(g);
   29.63 @@ -227,10 +227,10 @@
   29.64        }
   29.65      };
   29.66      ///\brief \ref named-templ-param "Named parameter" for setting
   29.67 -    ///\ref PredMap type.
   29.68 +    ///PredMap type.
   29.69      ///
   29.70      ///\ref named-templ-param "Named parameter" for setting
   29.71 -    ///\ref PredMap type.
   29.72 +    ///PredMap type.
   29.73      template <class T>
   29.74      struct SetPredMap : public Dfs<Digraph, SetPredMapTraits<T> > {
   29.75        typedef Dfs<Digraph, SetPredMapTraits<T> > Create;
   29.76 @@ -246,10 +246,10 @@
   29.77        }
   29.78      };
   29.79      ///\brief \ref named-templ-param "Named parameter" for setting
   29.80 -    ///\ref DistMap type.
   29.81 +    ///DistMap type.
   29.82      ///
   29.83      ///\ref named-templ-param "Named parameter" for setting
   29.84 -    ///\ref DistMap type.
   29.85 +    ///DistMap type.
   29.86      template <class T>
   29.87      struct SetDistMap : public Dfs< Digraph, SetDistMapTraits<T> > {
   29.88        typedef Dfs<Digraph, SetDistMapTraits<T> > Create;
   29.89 @@ -265,10 +265,10 @@
   29.90        }
   29.91      };
   29.92      ///\brief \ref named-templ-param "Named parameter" for setting
   29.93 -    ///\ref ReachedMap type.
   29.94 +    ///ReachedMap type.
   29.95      ///
   29.96      ///\ref named-templ-param "Named parameter" for setting
   29.97 -    ///\ref ReachedMap type.
   29.98 +    ///ReachedMap type.
   29.99      template <class T>
  29.100      struct SetReachedMap : public Dfs< Digraph, SetReachedMapTraits<T> > {
  29.101        typedef Dfs< Digraph, SetReachedMapTraits<T> > Create;
  29.102 @@ -284,10 +284,10 @@
  29.103        }
  29.104      };
  29.105      ///\brief \ref named-templ-param "Named parameter" for setting
  29.106 -    ///\ref ProcessedMap type.
  29.107 +    ///ProcessedMap type.
  29.108      ///
  29.109      ///\ref named-templ-param "Named parameter" for setting
  29.110 -    ///\ref ProcessedMap type.
  29.111 +    ///ProcessedMap type.
  29.112      template <class T>
  29.113      struct SetProcessedMap : public Dfs< Digraph, SetProcessedMapTraits<T> > {
  29.114        typedef Dfs< Digraph, SetProcessedMapTraits<T> > Create;
  29.115 @@ -301,10 +301,10 @@
  29.116        }
  29.117      };
  29.118      ///\brief \ref named-templ-param "Named parameter" for setting
  29.119 -    ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
  29.120 +    ///ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
  29.121      ///
  29.122      ///\ref named-templ-param "Named parameter" for setting
  29.123 -    ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
  29.124 +    ///ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
  29.125      ///If you don't set it explicitly, it will be automatically allocated.
  29.126      struct SetStandardProcessedMap :
  29.127        public Dfs< Digraph, SetStandardProcessedMapTraits > {
  29.128 @@ -768,11 +768,11 @@
  29.129      ///arcs of the %DFS paths.
  29.130      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
  29.131      typedef typename Digraph::template NodeMap<typename Digraph::Arc> PredMap;
  29.132 -    ///Instantiates a \ref PredMap.
  29.133 +    ///Instantiates a PredMap.
  29.134  
  29.135 -    ///This function instantiates a \ref PredMap.
  29.136 +    ///This function instantiates a PredMap.
  29.137      ///\param g is the digraph, to which we would like to define the
  29.138 -    ///\ref PredMap.
  29.139 +    ///PredMap.
  29.140      static PredMap *createPredMap(const Digraph &g)
  29.141      {
  29.142        return new PredMap(g);
  29.143 @@ -784,11 +784,11 @@
  29.144      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
  29.145      ///By default it is a NullMap.
  29.146      typedef NullMap<typename Digraph::Node,bool> ProcessedMap;
  29.147 -    ///Instantiates a \ref ProcessedMap.
  29.148 +    ///Instantiates a ProcessedMap.
  29.149  
  29.150 -    ///This function instantiates a \ref ProcessedMap.
  29.151 +    ///This function instantiates a ProcessedMap.
  29.152      ///\param g is the digraph, to which
  29.153 -    ///we would like to define the \ref ProcessedMap.
  29.154 +    ///we would like to define the ProcessedMap.
  29.155  #ifdef DOXYGEN
  29.156      static ProcessedMap *createProcessedMap(const Digraph &g)
  29.157  #else
  29.158 @@ -803,11 +803,11 @@
  29.159      ///The type of the map that indicates which nodes are reached.
  29.160      ///It must meet the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
  29.161      typedef typename Digraph::template NodeMap<bool> ReachedMap;
  29.162 -    ///Instantiates a \ref ReachedMap.
  29.163 +    ///Instantiates a ReachedMap.
  29.164  
  29.165 -    ///This function instantiates a \ref ReachedMap.
  29.166 +    ///This function instantiates a ReachedMap.
  29.167      ///\param g is the digraph, to which
  29.168 -    ///we would like to define the \ref ReachedMap.
  29.169 +    ///we would like to define the ReachedMap.
  29.170      static ReachedMap *createReachedMap(const Digraph &g)
  29.171      {
  29.172        return new ReachedMap(g);
  29.173 @@ -818,11 +818,11 @@
  29.174      ///The type of the map that stores the distances of the nodes.
  29.175      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
  29.176      typedef typename Digraph::template NodeMap<int> DistMap;
  29.177 -    ///Instantiates a \ref DistMap.
  29.178 +    ///Instantiates a DistMap.
  29.179  
  29.180 -    ///This function instantiates a \ref DistMap.
  29.181 +    ///This function instantiates a DistMap.
  29.182      ///\param g is the digraph, to which we would like to define
  29.183 -    ///the \ref DistMap
  29.184 +    ///the DistMap
  29.185      static DistMap *createDistMap(const Digraph &g)
  29.186      {
  29.187        return new DistMap(g);
  29.188 @@ -835,7 +835,7 @@
  29.189      typedef lemon::Path<Digraph> Path;
  29.190    };
  29.191  
  29.192 -  /// Default traits class used by \ref DfsWizard
  29.193 +  /// Default traits class used by DfsWizard
  29.194  
  29.195    /// To make it easier to use Dfs algorithm
  29.196    /// we have created a wizard class.
  29.197 @@ -1001,10 +1001,10 @@
  29.198        SetPredMapBase(const TR &b) : TR(b) {}
  29.199      };
  29.200      ///\brief \ref named-func-param "Named parameter"
  29.201 -    ///for setting \ref PredMap object.
  29.202 +    ///for setting PredMap object.
  29.203      ///
  29.204      ///\ref named-func-param "Named parameter"
  29.205 -    ///for setting \ref PredMap object.
  29.206 +    ///for setting PredMap object.
  29.207      template<class T>
  29.208      DfsWizard<SetPredMapBase<T> > predMap(const T &t)
  29.209      {
  29.210 @@ -1019,10 +1019,10 @@
  29.211        SetReachedMapBase(const TR &b) : TR(b) {}
  29.212      };
  29.213      ///\brief \ref named-func-param "Named parameter"
  29.214 -    ///for setting \ref ReachedMap object.
  29.215 +    ///for setting ReachedMap object.
  29.216      ///
  29.217      /// \ref named-func-param "Named parameter"
  29.218 -    ///for setting \ref ReachedMap object.
  29.219 +    ///for setting ReachedMap object.
  29.220      template<class T>
  29.221      DfsWizard<SetReachedMapBase<T> > reachedMap(const T &t)
  29.222      {
  29.223 @@ -1037,10 +1037,10 @@
  29.224        SetDistMapBase(const TR &b) : TR(b) {}
  29.225      };
  29.226      ///\brief \ref named-func-param "Named parameter"
  29.227 -    ///for setting \ref DistMap object.
  29.228 +    ///for setting DistMap object.
  29.229      ///
  29.230      /// \ref named-func-param "Named parameter"
  29.231 -    ///for setting \ref DistMap object.
  29.232 +    ///for setting DistMap object.
  29.233      template<class T>
  29.234      DfsWizard<SetDistMapBase<T> > distMap(const T &t)
  29.235      {
  29.236 @@ -1055,10 +1055,10 @@
  29.237        SetProcessedMapBase(const TR &b) : TR(b) {}
  29.238      };
  29.239      ///\brief \ref named-func-param "Named parameter"
  29.240 -    ///for setting \ref ProcessedMap object.
  29.241 +    ///for setting ProcessedMap object.
  29.242      ///
  29.243      /// \ref named-func-param "Named parameter"
  29.244 -    ///for setting \ref ProcessedMap object.
  29.245 +    ///for setting ProcessedMap object.
  29.246      template<class T>
  29.247      DfsWizard<SetProcessedMapBase<T> > processedMap(const T &t)
  29.248      {
  29.249 @@ -1213,11 +1213,11 @@
  29.250      /// It must meet the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
  29.251      typedef typename Digraph::template NodeMap<bool> ReachedMap;
  29.252  
  29.253 -    /// \brief Instantiates a \ref ReachedMap.
  29.254 +    /// \brief Instantiates a ReachedMap.
  29.255      ///
  29.256 -    /// This function instantiates a \ref ReachedMap.
  29.257 +    /// This function instantiates a ReachedMap.
  29.258      /// \param digraph is the digraph, to which
  29.259 -    /// we would like to define the \ref ReachedMap.
  29.260 +    /// we would like to define the ReachedMap.
  29.261      static ReachedMap *createReachedMap(const Digraph &digraph) {
  29.262        return new ReachedMap(digraph);
  29.263      }
    30.1 --- a/lemon/dijkstra.h	Thu Oct 09 16:47:01 2008 +0200
    30.2 +++ b/lemon/dijkstra.h	Thu Oct 09 16:20:37 2008 +0100
    30.3 @@ -139,11 +139,11 @@
    30.4      ///arcs of the shortest paths.
    30.5      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
    30.6      typedef typename Digraph::template NodeMap<typename Digraph::Arc> PredMap;
    30.7 -    ///Instantiates a \ref PredMap.
    30.8 +    ///Instantiates a PredMap.
    30.9  
   30.10 -    ///This function instantiates a \ref PredMap.
   30.11 +    ///This function instantiates a PredMap.
   30.12      ///\param g is the digraph, to which we would like to define the
   30.13 -    ///\ref PredMap.
   30.14 +    ///PredMap.
   30.15      static PredMap *createPredMap(const Digraph &g)
   30.16      {
   30.17        return new PredMap(g);
   30.18 @@ -155,11 +155,11 @@
   30.19      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
   30.20      ///By default it is a NullMap.
   30.21      typedef NullMap<typename Digraph::Node,bool> ProcessedMap;
   30.22 -    ///Instantiates a \ref ProcessedMap.
   30.23 +    ///Instantiates a ProcessedMap.
   30.24  
   30.25 -    ///This function instantiates a \ref ProcessedMap.
   30.26 +    ///This function instantiates a ProcessedMap.
   30.27      ///\param g is the digraph, to which
   30.28 -    ///we would like to define the \ref ProcessedMap
   30.29 +    ///we would like to define the ProcessedMap
   30.30  #ifdef DOXYGEN
   30.31      static ProcessedMap *createProcessedMap(const Digraph &g)
   30.32  #else
   30.33 @@ -174,11 +174,11 @@
   30.34      ///The type of the map that stores the distances of the nodes.
   30.35      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
   30.36      typedef typename Digraph::template NodeMap<typename LM::Value> DistMap;
   30.37 -    ///Instantiates a \ref DistMap.
   30.38 +    ///Instantiates a DistMap.
   30.39  
   30.40 -    ///This function instantiates a \ref DistMap.
   30.41 +    ///This function instantiates a DistMap.
   30.42      ///\param g is the digraph, to which we would like to define
   30.43 -    ///the \ref DistMap
   30.44 +    ///the DistMap
   30.45      static DistMap *createDistMap(const Digraph &g)
   30.46      {
   30.47        return new DistMap(g);
   30.48 @@ -327,10 +327,10 @@
   30.49        }
   30.50      };
   30.51      ///\brief \ref named-templ-param "Named parameter" for setting
   30.52 -    ///\ref PredMap type.
   30.53 +    ///PredMap type.
   30.54      ///
   30.55      ///\ref named-templ-param "Named parameter" for setting
   30.56 -    ///\ref PredMap type.
   30.57 +    ///PredMap type.
   30.58      template <class T>
   30.59      struct SetPredMap
   30.60        : public Dijkstra< Digraph, LengthMap, SetPredMapTraits<T> > {
   30.61 @@ -347,10 +347,10 @@
   30.62        }
   30.63      };
   30.64      ///\brief \ref named-templ-param "Named parameter" for setting
   30.65 -    ///\ref DistMap type.
   30.66 +    ///DistMap type.
   30.67      ///
   30.68      ///\ref named-templ-param "Named parameter" for setting
   30.69 -    ///\ref DistMap type.
   30.70 +    ///DistMap type.
   30.71      template <class T>
   30.72      struct SetDistMap
   30.73        : public Dijkstra< Digraph, LengthMap, SetDistMapTraits<T> > {
   30.74 @@ -367,10 +367,10 @@
   30.75        }
   30.76      };
   30.77      ///\brief \ref named-templ-param "Named parameter" for setting
   30.78 -    ///\ref ProcessedMap type.
   30.79 +    ///ProcessedMap type.
   30.80      ///
   30.81      ///\ref named-templ-param "Named parameter" for setting
   30.82 -    ///\ref ProcessedMap type.
   30.83 +    ///ProcessedMap type.
   30.84      template <class T>
   30.85      struct SetProcessedMap
   30.86        : public Dijkstra< Digraph, LengthMap, SetProcessedMapTraits<T> > {
   30.87 @@ -385,10 +385,10 @@
   30.88        }
   30.89      };
   30.90      ///\brief \ref named-templ-param "Named parameter" for setting
   30.91 -    ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
   30.92 +    ///ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
   30.93      ///
   30.94      ///\ref named-templ-param "Named parameter" for setting
   30.95 -    ///\ref ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
   30.96 +    ///ProcessedMap type to be <tt>Digraph::NodeMap<bool></tt>.
   30.97      ///If you don't set it explicitly, it will be automatically allocated.
   30.98      struct SetStandardProcessedMap
   30.99        : public Dijkstra< Digraph, LengthMap, SetStandardProcessedMapTraits > {
  30.100 @@ -453,7 +453,7 @@
  30.101      };
  30.102  
  30.103      /// \brief \ref named-templ-param "Named parameter" for setting
  30.104 -    ///\ref OperationTraits type
  30.105 +    ///\c OperationTraits type
  30.106      ///
  30.107      ///\ref named-templ-param "Named parameter" for setting
  30.108      ///\ref OperationTraits type.
  30.109 @@ -986,11 +986,11 @@
  30.110      ///arcs of the shortest paths.
  30.111      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
  30.112      typedef typename Digraph::template NodeMap<typename Digraph::Arc> PredMap;
  30.113 -    ///Instantiates a \ref PredMap.
  30.114 +    ///Instantiates a PredMap.
  30.115  
  30.116 -    ///This function instantiates a \ref PredMap.
  30.117 +    ///This function instantiates a PredMap.
  30.118      ///\param g is the digraph, to which we would like to define the
  30.119 -    ///\ref PredMap.
  30.120 +    ///PredMap.
  30.121      static PredMap *createPredMap(const Digraph &g)
  30.122      {
  30.123        return new PredMap(g);
  30.124 @@ -1002,11 +1002,11 @@
  30.125      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
  30.126      ///By default it is a NullMap.
  30.127      typedef NullMap<typename Digraph::Node,bool> ProcessedMap;
  30.128 -    ///Instantiates a \ref ProcessedMap.
  30.129 +    ///Instantiates a ProcessedMap.
  30.130  
  30.131 -    ///This function instantiates a \ref ProcessedMap.
  30.132 +    ///This function instantiates a ProcessedMap.
  30.133      ///\param g is the digraph, to which
  30.134 -    ///we would like to define the \ref ProcessedMap.
  30.135 +    ///we would like to define the ProcessedMap.
  30.136  #ifdef DOXYGEN
  30.137      static ProcessedMap *createProcessedMap(const Digraph &g)
  30.138  #else
  30.139 @@ -1021,11 +1021,11 @@
  30.140      ///The type of the map that stores the distances of the nodes.
  30.141      ///It must meet the \ref concepts::WriteMap "WriteMap" concept.
  30.142      typedef typename Digraph::template NodeMap<typename LM::Value> DistMap;
  30.143 -    ///Instantiates a \ref DistMap.
  30.144 +    ///Instantiates a DistMap.
  30.145  
  30.146 -    ///This function instantiates a \ref DistMap.
  30.147 +    ///This function instantiates a DistMap.
  30.148      ///\param g is the digraph, to which we would like to define
  30.149 -    ///the \ref DistMap
  30.150 +    ///the DistMap
  30.151      static DistMap *createDistMap(const Digraph &g)
  30.152      {
  30.153        return new DistMap(g);
  30.154 @@ -1038,7 +1038,7 @@
  30.155      typedef lemon::Path<Digraph> Path;
  30.156    };
  30.157  
  30.158 -  /// Default traits class used by \ref DijkstraWizard
  30.159 +  /// Default traits class used by DijkstraWizard
  30.160  
  30.161    /// To make it easier to use Dijkstra algorithm
  30.162    /// we have created a wizard class.
  30.163 @@ -1198,10 +1198,10 @@
  30.164        SetPredMapBase(const TR &b) : TR(b) {}
  30.165      };
  30.166      ///\brief \ref named-func-param "Named parameter"
  30.167 -    ///for setting \ref PredMap object.
  30.168 +    ///for setting PredMap object.
  30.169      ///
  30.170      ///\ref named-func-param "Named parameter"
  30.171 -    ///for setting \ref PredMap object.
  30.172 +    ///for setting PredMap object.
  30.173      template<class T>
  30.174      DijkstraWizard<SetPredMapBase<T> > predMap(const T &t)
  30.175      {
  30.176 @@ -1216,10 +1216,10 @@
  30.177        SetDistMapBase(const TR &b) : TR(b) {}
  30.178      };
  30.179      ///\brief \ref named-func-param "Named parameter"
  30.180 -    ///for setting \ref DistMap object.
  30.181 +    ///for setting DistMap object.
  30.182      ///
  30.183      ///\ref named-func-param "Named parameter"
  30.184 -    ///for setting \ref DistMap object.
  30.185 +    ///for setting DistMap object.
  30.186      template<class T>
  30.187      DijkstraWizard<SetDistMapBase<T> > distMap(const T &t)
  30.188      {
  30.189 @@ -1234,10 +1234,10 @@
  30.190        SetProcessedMapBase(const TR &b) : TR(b) {}
  30.191      };
  30.192      ///\brief \ref named-func-param "Named parameter"
  30.193 -    ///for setting \ref ProcessedMap object.
  30.194 +    ///for setting ProcessedMap object.
  30.195      ///
  30.196      /// \ref named-func-param "Named parameter"
  30.197 -    ///for setting \ref ProcessedMap object.
  30.198 +    ///for setting ProcessedMap object.
  30.199      template<class T>
  30.200      DijkstraWizard<SetProcessedMapBase<T> > processedMap(const T &t)
  30.201      {
    31.1 --- a/lemon/dim2.h	Thu Oct 09 16:47:01 2008 +0200
    31.2 +++ b/lemon/dim2.h	Thu Oct 09 16:20:37 2008 +0100
    31.3 @@ -259,10 +259,10 @@
    31.4  
    31.5  
    31.6  
    31.7 -  /// Bounding box of plain vectors (\ref Point points).
    31.8 +  /// Bounding box of plain vectors (points).
    31.9  
   31.10    /// A class to calculate or store the bounding box of plain vectors
   31.11 -  /// (\ref Point points).
   31.12 +  /// (\ref Point "points").
   31.13    template<typename T>
   31.14    class Box {
   31.15        Point<T> _bottom_left, _top_right;
   31.16 @@ -573,9 +573,8 @@
   31.17      return os;
   31.18    }
   31.19  
   31.20 -  ///Map of x-coordinates of a \ref Point "Point"-map
   31.21 +  ///Map of x-coordinates of a <tt>Point</tt>-map
   31.22  
   31.23 -  ///\ingroup maps
   31.24    ///Map of x-coordinates of a \ref Point "Point"-map.
   31.25    ///
   31.26    template<class M>
   31.27 @@ -592,11 +591,9 @@
   31.28      void set(Key k,Value v) {_map.set(k,typename M::Value(v,_map[k].y));}
   31.29    };
   31.30  
   31.31 -  ///Returns an \ref XMap class
   31.32 +  ///Returns an XMap class
   31.33  
   31.34 -  ///This function just returns an \ref XMap class.
   31.35 -  ///
   31.36 -  ///\ingroup maps
   31.37 +  ///This function just returns an XMap class.
   31.38    ///\relates XMap
   31.39    template<class M>
   31.40    inline XMap<M> xMap(M &m)
   31.41 @@ -610,10 +607,9 @@
   31.42      return XMap<M>(m);
   31.43    }
   31.44  
   31.45 -  ///Constant (read only) version of \ref XMap
   31.46 +  ///Constant (read only) version of XMap
   31.47  
   31.48 -  ///\ingroup maps
   31.49 -  ///Constant (read only) version of \ref XMap
   31.50 +  ///Constant (read only) version of XMap.
   31.51    ///
   31.52    template<class M>
   31.53    class ConstXMap
   31.54 @@ -628,11 +624,9 @@
   31.55      Value operator[](Key k) const {return _map[k].x;}
   31.56    };
   31.57  
   31.58 -  ///Returns a \ref ConstXMap class
   31.59 +  ///Returns a ConstXMap class
   31.60  
   31.61 -  ///This function just returns a \ref ConstXMap class.
   31.62 -  ///
   31.63 -  ///\ingroup maps
   31.64 +  ///This function just returns a ConstXMap class.
   31.65    ///\relates ConstXMap
   31.66    template<class M>
   31.67    inline ConstXMap<M> xMap(const M &m)
   31.68 @@ -640,9 +634,8 @@
   31.69      return ConstXMap<M>(m);
   31.70    }
   31.71  
   31.72 -  ///Map of y-coordinates of a \ref Point "Point"-map
   31.73 +  ///Map of y-coordinates of a <tt>Point</tt>-map
   31.74  
   31.75 -  ///\ingroup maps
   31.76    ///Map of y-coordinates of a \ref Point "Point"-map.
   31.77    ///
   31.78    template<class M>
   31.79 @@ -659,11 +652,9 @@
   31.80      void set(Key k,Value v) {_map.set(k,typename M::Value(_map[k].x,v));}
   31.81    };
   31.82  
   31.83 -  ///Returns a \ref YMap class
   31.84 +  ///Returns a YMap class
   31.85  
   31.86 -  ///This function just returns a \ref YMap class.
   31.87 -  ///
   31.88 -  ///\ingroup maps
   31.89 +  ///This function just returns a YMap class.
   31.90    ///\relates YMap
   31.91    template<class M>
   31.92    inline YMap<M> yMap(M &m)
   31.93 @@ -677,10 +668,9 @@
   31.94      return YMap<M>(m);
   31.95    }
   31.96  
   31.97 -  ///Constant (read only) version of \ref YMap
   31.98 +  ///Constant (read only) version of YMap
   31.99  
  31.100 -  ///\ingroup maps
  31.101 -  ///Constant (read only) version of \ref YMap
  31.102 +  ///Constant (read only) version of YMap.
  31.103    ///
  31.104    template<class M>
  31.105    class ConstYMap
  31.106 @@ -695,11 +685,9 @@
  31.107      Value operator[](Key k) const {return _map[k].y;}
  31.108    };
  31.109  
  31.110 -  ///Returns a \ref ConstYMap class
  31.111 +  ///Returns a ConstYMap class
  31.112  
  31.113 -  ///This function just returns a \ref ConstYMap class.
  31.114 -  ///
  31.115 -  ///\ingroup maps
  31.116 +  ///This function just returns a ConstYMap class.
  31.117    ///\relates ConstYMap
  31.118    template<class M>
  31.119    inline ConstYMap<M> yMap(const M &m)
  31.120 @@ -708,12 +696,10 @@
  31.121    }
  31.122  
  31.123  
  31.124 -  ///\brief Map of the \ref Point::normSquare() "normSquare()"
  31.125 -  ///of a \ref Point "Point"-map
  31.126 +  ///\brief Map of the normSquare() of a <tt>Point</tt>-map
  31.127    ///
  31.128    ///Map of the \ref Point::normSquare() "normSquare()"
  31.129    ///of a \ref Point "Point"-map.
  31.130 -  ///\ingroup maps
  31.131    template<class M>
  31.132    class NormSquareMap
  31.133    {
  31.134 @@ -727,11 +713,9 @@
  31.135      Value operator[](Key k) const {return _map[k].normSquare();}
  31.136    };
  31.137  
  31.138 -  ///Returns a \ref NormSquareMap class
  31.139 +  ///Returns a NormSquareMap class
  31.140  
  31.141 -  ///This function just returns a \ref NormSquareMap class.
  31.142 -  ///
  31.143 -  ///\ingroup maps
  31.144 +  ///This function just returns a NormSquareMap class.
  31.145    ///\relates NormSquareMap
  31.146    template<class M>
  31.147    inline NormSquareMap<M> normSquareMap(const M &m)
    32.1 --- a/lemon/graph_to_eps.h	Thu Oct 09 16:47:01 2008 +0200
    32.2 +++ b/lemon/graph_to_eps.h	Thu Oct 09 16:20:37 2008 +0100
    32.3 @@ -62,7 +62,7 @@
    32.4      };
    32.5    }
    32.6  
    32.7 -///Default traits class of \ref GraphToEps
    32.8 +///Default traits class of GraphToEps
    32.9  
   32.10  ///Default traits class of \ref GraphToEps.
   32.11  ///
    33.1 --- a/lemon/lgf_reader.h	Thu Oct 09 16:47:01 2008 +0200
    33.2 +++ b/lemon/lgf_reader.h	Thu Oct 09 16:20:37 2008 +0100
    33.3 @@ -391,15 +391,37 @@
    33.4    template <typename Digraph>
    33.5    class DigraphReader;
    33.6  
    33.7 +  /// \brief Return a \ref DigraphReader class
    33.8 +  ///
    33.9 +  /// This function just returns a \ref DigraphReader class.
   33.10 +  /// \relates DigraphReader
   33.11    template <typename Digraph>
   33.12    DigraphReader<Digraph> digraphReader(Digraph& digraph,
   33.13 -                                       std::istream& is = std::cin);
   33.14 -
   33.15 +                                       std::istream& is = std::cin) {
   33.16 +    DigraphReader<Digraph> tmp(digraph, is);
   33.17 +    return tmp;
   33.18 +  }
   33.19 +
   33.20 +  /// \brief Return a \ref DigraphReader class
   33.21 +  ///
   33.22 +  /// This function just returns a \ref DigraphReader class.
   33.23 +  /// \relates DigraphReader
   33.24    template <typename Digraph>
   33.25 -  DigraphReader<Digraph> digraphReader(Digraph& digraph, const std::string& fn);
   33.26 -
   33.27 +  DigraphReader<Digraph> digraphReader(Digraph& digraph,
   33.28 +                                       const std::string& fn) {
   33.29 +    DigraphReader<Digraph> tmp(digraph, fn);
   33.30 +    return tmp;
   33.31 +  }
   33.32 +
   33.33 +  /// \brief Return a \ref DigraphReader class
   33.34 +  ///
   33.35 +  /// This function just returns a \ref DigraphReader class.
   33.36 +  /// \relates DigraphReader
   33.37    template <typename Digraph>
   33.38 -  DigraphReader<Digraph> digraphReader(Digraph& digraph, const char *fn);
   33.39 +  DigraphReader<Digraph> digraphReader(Digraph& digraph, const char* fn) {
   33.40 +    DigraphReader<Digraph> tmp(digraph, fn);
   33.41 +    return tmp;
   33.42 +  }
   33.43  
   33.44    /// \ingroup lemon_io
   33.45    ///
   33.46 @@ -1189,51 +1211,39 @@
   33.47  
   33.48    };
   33.49  
   33.50 -  /// \brief Return a \ref DigraphReader class
   33.51 +  template <typename Graph>
   33.52 +  class GraphReader;
   33.53 +
   33.54 +  /// \brief Return a \ref GraphReader class
   33.55    ///
   33.56 -  /// This function just returns a \ref DigraphReader class.
   33.57 -  /// \relates DigraphReader
   33.58 -  template <typename Digraph>
   33.59 -  DigraphReader<Digraph> digraphReader(Digraph& digraph,
   33.60 -                                       std::istream& is = std::cin) {
   33.61 -    DigraphReader<Digraph> tmp(digraph, is);
   33.62 +  /// This function just returns a \ref GraphReader class.
   33.63 +  /// \relates GraphReader
   33.64 +  template <typename Graph>
   33.65 +  GraphReader<Graph> graphReader(Graph& graph, std::istream& is = std::cin) {
   33.66 +    GraphReader<Graph> tmp(graph, is);
   33.67      return tmp;
   33.68    }
   33.69  
   33.70 -  /// \brief Return a \ref DigraphReader class
   33.71 +  /// \brief Return a \ref GraphReader class
   33.72    ///
   33.73 -  /// This function just returns a \ref DigraphReader class.
   33.74 -  /// \relates DigraphReader
   33.75 -  template <typename Digraph>
   33.76 -  DigraphReader<Digraph> digraphReader(Digraph& digraph,
   33.77 -                                       const std::string& fn) {
   33.78 -    DigraphReader<Digraph> tmp(digraph, fn);
   33.79 +  /// This function just returns a \ref GraphReader class.
   33.80 +  /// \relates GraphReader
   33.81 +  template <typename Graph>
   33.82 +  GraphReader<Graph> graphReader(Graph& graph, const std::string& fn) {
   33.83 +    GraphReader<Graph> tmp(graph, fn);
   33.84      return tmp;
   33.85    }
   33.86  
   33.87 -  /// \brief Return a \ref DigraphReader class
   33.88 +  /// \brief Return a \ref GraphReader class
   33.89    ///
   33.90 -  /// This function just returns a \ref DigraphReader class.
   33.91 -  /// \relates DigraphReader
   33.92 -  template <typename Digraph>
   33.93 -  DigraphReader<Digraph> digraphReader(Digraph& digraph, const char* fn) {
   33.94 -    DigraphReader<Digraph> tmp(digraph, fn);
   33.95 +  /// This function just returns a \ref GraphReader class.
   33.96 +  /// \relates GraphReader
   33.97 +  template <typename Graph>
   33.98 +  GraphReader<Graph> graphReader(Graph& graph, const char* fn) {
   33.99 +    GraphReader<Graph> tmp(graph, fn);
  33.100      return tmp;
  33.101    }
  33.102  
  33.103 -  template <typename Graph>
  33.104 -  class GraphReader;
  33.105 -
  33.106 -  template <typename Graph>
  33.107 -  GraphReader<Graph> graphReader(Graph& graph,
  33.108 -                                 std::istream& is = std::cin);
  33.109 -
  33.110 -  template <typename Graph>
  33.111 -  GraphReader<Graph> graphReader(Graph& graph, const std::string& fn);
  33.112 -
  33.113 -  template <typename Graph>
  33.114 -  GraphReader<Graph> graphReader(Graph& graph, const char *fn);
  33.115 -
  33.116    /// \ingroup lemon_io
  33.117    ///
  33.118    /// \brief \ref lgf-format "LGF" reader for undirected graphs
  33.119 @@ -2031,36 +2041,6 @@
  33.120  
  33.121    };
  33.122  
  33.123 -  /// \brief Return a \ref GraphReader class
  33.124 -  ///
  33.125 -  /// This function just returns a \ref GraphReader class.
  33.126 -  /// \relates GraphReader
  33.127 -  template <typename Graph>
  33.128 -  GraphReader<Graph> graphReader(Graph& graph, std::istream& is = std::cin) {
  33.129 -    GraphReader<Graph> tmp(graph, is);
  33.130 -    return tmp;
  33.131 -  }
  33.132 -
  33.133 -  /// \brief Return a \ref GraphReader class
  33.134 -  ///
  33.135 -  /// This function just returns a \ref GraphReader class.
  33.136 -  /// \relates GraphReader
  33.137 -  template <typename Graph>
  33.138 -  GraphReader<Graph> graphReader(Graph& graph, const std::string& fn) {
  33.139 -    GraphReader<Graph> tmp(graph, fn);
  33.140 -    return tmp;
  33.141 -  }
  33.142 -
  33.143 -  /// \brief Return a \ref GraphReader class
  33.144 -  ///
  33.145 -  /// This function just returns a \ref GraphReader class.
  33.146 -  /// \relates GraphReader
  33.147 -  template <typename Graph>
  33.148 -  GraphReader<Graph> graphReader(Graph& graph, const char* fn) {
  33.149 -    GraphReader<Graph> tmp(graph, fn);
  33.150 -    return tmp;
  33.151 -  }
  33.152 -
  33.153    class SectionReader;
  33.154  
  33.155    SectionReader sectionReader(std::istream& is);
    34.1 --- a/lemon/lgf_writer.h	Thu Oct 09 16:47:01 2008 +0200
    34.2 +++ b/lemon/lgf_writer.h	Thu Oct 09 16:20:37 2008 +0100
    34.3 @@ -351,17 +351,38 @@
    34.4    template <typename Digraph>
    34.5    class DigraphWriter;
    34.6  
    34.7 +  /// \brief Return a \ref DigraphWriter class
    34.8 +  ///
    34.9 +  /// This function just returns a \ref DigraphWriter class.
   34.10 +  /// \relates DigraphWriter
   34.11    template <typename Digraph>
   34.12    DigraphWriter<Digraph> digraphWriter(const Digraph& digraph,
   34.13 -                                       std::ostream& os = std::cout);
   34.14 +                                       std::ostream& os = std::cout) {
   34.15 +    DigraphWriter<Digraph> tmp(digraph, os);
   34.16 +    return tmp;
   34.17 +  }
   34.18  
   34.19 +  /// \brief Return a \ref DigraphWriter class
   34.20 +  ///
   34.21 +  /// This function just returns a \ref DigraphWriter class.
   34.22 +  /// \relates DigraphWriter
   34.23    template <typename Digraph>
   34.24    DigraphWriter<Digraph> digraphWriter(const Digraph& digraph,
   34.25 -                                       const std::string& fn);
   34.26 +                                       const std::string& fn) {
   34.27 +    DigraphWriter<Digraph> tmp(digraph, fn);
   34.28 +    return tmp;
   34.29 +  }
   34.30  
   34.31 +  /// \brief Return a \ref DigraphWriter class
   34.32 +  ///
   34.33 +  /// This function just returns a \ref DigraphWriter class.
   34.34 +  /// \relates DigraphWriter
   34.35    template <typename Digraph>
   34.36    DigraphWriter<Digraph> digraphWriter(const Digraph& digraph,
   34.37 -                                       const char *fn);
   34.38 +                                       const char* fn) {
   34.39 +    DigraphWriter<Digraph> tmp(digraph, fn);
   34.40 +    return tmp;
   34.41 +  }
   34.42  
   34.43    /// \ingroup lemon_io
   34.44    ///
   34.45 @@ -913,52 +934,40 @@
   34.46      /// @}
   34.47    };
   34.48  
   34.49 -  /// \brief Return a \ref DigraphWriter class
   34.50 +  template <typename Graph>
   34.51 +  class GraphWriter;
   34.52 +
   34.53 +  /// \brief Return a \ref GraphWriter class
   34.54    ///
   34.55 -  /// This function just returns a \ref DigraphWriter class.
   34.56 -  /// \relates DigraphWriter
   34.57 -  template <typename Digraph>
   34.58 -  DigraphWriter<Digraph> digraphWriter(const Digraph& digraph,
   34.59 -                                       std::ostream& os = std::cout) {
   34.60 -    DigraphWriter<Digraph> tmp(digraph, os);
   34.61 +  /// This function just returns a \ref GraphWriter class.
   34.62 +  /// \relates GraphWriter
   34.63 +  template <typename Graph>
   34.64 +  GraphWriter<Graph> graphWriter(const Graph& graph,
   34.65 +                                 std::ostream& os = std::cout) {
   34.66 +    GraphWriter<Graph> tmp(graph, os);
   34.67      return tmp;
   34.68    }
   34.69  
   34.70 -  /// \brief Return a \ref DigraphWriter class
   34.71 +  /// \brief Return a \ref GraphWriter class
   34.72    ///
   34.73 -  /// This function just returns a \ref DigraphWriter class.
   34.74 -  /// \relates DigraphWriter
   34.75 -  template <typename Digraph>
   34.76 -  DigraphWriter<Digraph> digraphWriter(const Digraph& digraph,
   34.77 -                                       const std::string& fn) {
   34.78 -    DigraphWriter<Digraph> tmp(digraph, fn);
   34.79 +  /// This function just returns a \ref GraphWriter class.
   34.80 +  /// \relates GraphWriter
   34.81 +  template <typename Graph>
   34.82 +  GraphWriter<Graph> graphWriter(const Graph& graph, const std::string& fn) {
   34.83 +    GraphWriter<Graph> tmp(graph, fn);
   34.84      return tmp;
   34.85    }
   34.86  
   34.87 -  /// \brief Return a \ref DigraphWriter class
   34.88 +  /// \brief Return a \ref GraphWriter class
   34.89    ///
   34.90 -  /// This function just returns a \ref DigraphWriter class.
   34.91 -  /// \relates DigraphWriter
   34.92 -  template <typename Digraph>
   34.93 -  DigraphWriter<Digraph> digraphWriter(const Digraph& digraph,
   34.94 -                                       const char* fn) {
   34.95 -    DigraphWriter<Digraph> tmp(digraph, fn);
   34.96 +  /// This function just returns a \ref GraphWriter class.
   34.97 +  /// \relates GraphWriter
   34.98 +  template <typename Graph>
   34.99 +  GraphWriter<Graph> graphWriter(const Graph& graph, const char* fn) {
  34.100 +    GraphWriter<Graph> tmp(graph, fn);
  34.101      return tmp;
  34.102    }
  34.103  
  34.104 -  template <typename Graph>
  34.105 -  class GraphWriter;
  34.106 -
  34.107 -  template <typename Graph>
  34.108 -  GraphWriter<Graph> graphWriter(const Graph& graph,
  34.109 -                                 std::ostream& os = std::cout);
  34.110 -
  34.111 -  template <typename Graph>
  34.112 -  GraphWriter<Graph> graphWriter(const Graph& graph, const std::string& fn);
  34.113 -
  34.114 -  template <typename Graph>
  34.115 -  GraphWriter<Graph> graphWriter(const Graph& graph, const char *fn);
  34.116 -
  34.117    /// \ingroup lemon_io
  34.118    ///
  34.119    /// \brief \ref lgf-format "LGF" writer for directed graphs
  34.120 @@ -1526,37 +1535,6 @@
  34.121      /// @}
  34.122    };
  34.123  
  34.124 -  /// \brief Return a \ref GraphWriter class
  34.125 -  ///
  34.126 -  /// This function just returns a \ref GraphWriter class.
  34.127 -  /// \relates GraphWriter
  34.128 -  template <typename Graph>
  34.129 -  GraphWriter<Graph> graphWriter(const Graph& graph,
  34.130 -                                 std::ostream& os = std::cout) {
  34.131 -    GraphWriter<Graph> tmp(graph, os);
  34.132 -    return tmp;
  34.133 -  }
  34.134 -
  34.135 -  /// \brief Return a \ref GraphWriter class
  34.136 -  ///
  34.137 -  /// This function just returns a \ref GraphWriter class.
  34.138 -  /// \relates GraphWriter
  34.139 -  template <typename Graph>
  34.140 -  GraphWriter<Graph> graphWriter(const Graph& graph, const std::string& fn) {
  34.141 -    GraphWriter<Graph> tmp(graph, fn);
  34.142 -    return tmp;
  34.143 -  }
  34.144 -
  34.145 -  /// \brief Return a \ref GraphWriter class
  34.146 -  ///
  34.147 -  /// This function just returns a \ref GraphWriter class.
  34.148 -  /// \relates GraphWriter
  34.149 -  template <typename Graph>
  34.150 -  GraphWriter<Graph> graphWriter(const Graph& graph, const char* fn) {
  34.151 -    GraphWriter<Graph> tmp(graph, fn);
  34.152 -    return tmp;
  34.153 -  }
  34.154 -
  34.155    class SectionWriter;
  34.156  
  34.157    SectionWriter sectionWriter(std::istream& is);
    35.1 --- a/lemon/list_graph.h	Thu Oct 09 16:47:01 2008 +0200
    35.2 +++ b/lemon/list_graph.h	Thu Oct 09 16:20:37 2008 +0100
    35.3 @@ -413,7 +413,7 @@
    35.4      /// Change the source of \c a to \c n
    35.5      ///
    35.6      ///\note The <tt>InArcIt</tt>s referencing the changed arc remain
    35.7 -    ///valid. However the <tt>ArcIt<tt>s and <tt>OutArcIt</tt>s are
    35.8 +    ///valid. However the <tt>ArcIt</tt>s and <tt>OutArcIt</tt>s are
    35.9      ///invalidated.
   35.10      ///
   35.11      ///\warning This functionality cannot be used together with the Snapshot
    36.1 --- a/lemon/maps.h	Thu Oct 09 16:47:01 2008 +0200
    36.2 +++ b/lemon/maps.h	Thu Oct 09 16:20:37 2008 +0100
    36.3 @@ -43,7 +43,7 @@
    36.4    template<typename K, typename V>
    36.5    class MapBase {
    36.6    public:
    36.7 -    /// \biref The key type of the map.
    36.8 +    /// \brief The key type of the map.
    36.9      typedef K Key;
   36.10      /// \brief The value type of the map.
   36.11      /// (The type of objects associated with the keys).
   36.12 @@ -73,9 +73,9 @@
   36.13      void set(const Key&, const Value&) {}
   36.14    };
   36.15  
   36.16 -  /// Returns a \ref NullMap class
   36.17 -
   36.18 -  /// This function just returns a \ref NullMap class.
   36.19 +  /// Returns a \c NullMap class
   36.20 +
   36.21 +  /// This function just returns a \c NullMap class.
   36.22    /// \relates NullMap
   36.23    template <typename K, typename V>
   36.24    NullMap<K, V> nullMap() {
   36.25 @@ -88,7 +88,7 @@
   36.26    /// This \ref concepts::ReadMap "readable map" assigns a specified
   36.27    /// value to each key.
   36.28    ///
   36.29 -  /// In other aspects it is equivalent to \ref NullMap.
   36.30 +  /// In other aspects it is equivalent to \c NullMap.
   36.31    /// So it conforms the \ref concepts::ReadWriteMap "ReadWriteMap"
   36.32    /// concept, but it absorbs the data written to it.
   36.33    ///
   36.34 @@ -133,9 +133,9 @@
   36.35      ConstMap(const ConstMap<K, V1> &, const Value &v) : _value(v) {}
   36.36    };
   36.37  
   36.38 -  /// Returns a \ref ConstMap class
   36.39 -
   36.40 -  /// This function just returns a \ref ConstMap class.
   36.41 +  /// Returns a \c ConstMap class
   36.42 +
   36.43 +  /// This function just returns a \c ConstMap class.
   36.44    /// \relates ConstMap
   36.45    template<typename K, typename V>
   36.46    inline ConstMap<K, V> constMap(const V &v) {
   36.47 @@ -156,7 +156,7 @@
   36.48    /// This \ref concepts::ReadMap "readable map" assigns a specified
   36.49    /// value to each key.
   36.50    ///
   36.51 -  /// In other aspects it is equivalent to \ref NullMap.
   36.52 +  /// In other aspects it is equivalent to \c NullMap.
   36.53    /// So it conforms the \ref concepts::ReadWriteMap "ReadWriteMap"
   36.54    /// concept, but it absorbs the data written to it.
   36.55    ///
   36.56 @@ -182,9 +182,9 @@
   36.57      void set(const Key&, const Value&) {}
   36.58    };
   36.59  
   36.60 -  /// Returns a \ref ConstMap class with inlined constant value
   36.61 -
   36.62 -  /// This function just returns a \ref ConstMap class with inlined
   36.63 +  /// Returns a \c ConstMap class with inlined constant value
   36.64 +
   36.65 +  /// This function just returns a \c ConstMap class with inlined
   36.66    /// constant value.
   36.67    /// \relates ConstMap
   36.68    template<typename K, typename V, V v>
   36.69 @@ -212,9 +212,9 @@
   36.70      }
   36.71    };
   36.72  
   36.73 -  /// Returns an \ref IdentityMap class
   36.74 -
   36.75 -  /// This function just returns an \ref IdentityMap class.
   36.76 +  /// Returns an \c IdentityMap class
   36.77 +
   36.78 +  /// This function just returns an \c IdentityMap class.
   36.79    /// \relates IdentityMap
   36.80    template<typename T>
   36.81    inline IdentityMap<T> identityMap() {
   36.82 @@ -228,7 +228,7 @@
   36.83    /// This map is essentially a wrapper for \c std::vector. It assigns
   36.84    /// values to integer keys from the range <tt>[0..size-1]</tt>.
   36.85    /// It can be used with some data structures, for example
   36.86 -  /// \ref UnionFind, \ref BinHeap, when the used items are small
   36.87 +  /// \c UnionFind, \c BinHeap, when the used items are small
   36.88    /// integers. This map conforms the \ref concepts::ReferenceMap
   36.89    /// "ReferenceMap" concept.
   36.90    ///
   36.91 @@ -268,7 +268,7 @@
   36.92      RangeMap(const std::vector<V1>& vector)
   36.93        : _vector(vector.begin(), vector.end()) {}
   36.94  
   36.95 -    /// Constructs the map from another \ref RangeMap.
   36.96 +    /// Constructs the map from another \c RangeMap.
   36.97      template <typename V1>
   36.98      RangeMap(const RangeMap<V1> &c)
   36.99        : _vector(c._vector.begin(), c._vector.end()) {}
  36.100 @@ -311,19 +311,19 @@
  36.101      }
  36.102    };
  36.103  
  36.104 -  /// Returns a \ref RangeMap class
  36.105 -
  36.106 -  /// This function just returns a \ref RangeMap class.
  36.107 +  /// Returns a \c RangeMap class
  36.108 +
  36.109 +  /// This function just returns a \c RangeMap class.
  36.110    /// \relates RangeMap
  36.111    template<typename V>
  36.112    inline RangeMap<V> rangeMap(int size = 0, const V &value = V()) {
  36.113      return RangeMap<V>(size, value);
  36.114    }
  36.115  
  36.116 -  /// \brief Returns a \ref RangeMap class created from an appropriate
  36.117 +  /// \brief Returns a \c RangeMap class created from an appropriate
  36.118    /// \c std::vector
  36.119  
  36.120 -  /// This function just returns a \ref RangeMap class created from an
  36.121 +  /// This function just returns a \c RangeMap class created from an
  36.122    /// appropriate \c std::vector.
  36.123    /// \relates RangeMap
  36.124    template<typename V>
  36.125 @@ -388,7 +388,7 @@
  36.126                const Value &value = Value())
  36.127        : _map(map.begin(), map.end()), _value(value) {}
  36.128  
  36.129 -    /// \brief Constructs the map from another \ref SparseMap.
  36.130 +    /// \brief Constructs the map from another \c SparseMap.
  36.131      template<typename V1, typename Comp1>
  36.132      SparseMap(const SparseMap<Key, V1, Comp1> &c)
  36.133        : _map(c._map.begin(), c._map.end()), _value(c._value) {}
  36.134 @@ -433,9 +433,9 @@
  36.135      }
  36.136    };
  36.137  
  36.138 -  /// Returns a \ref SparseMap class
  36.139 -
  36.140 -  /// This function just returns a \ref SparseMap class with specified
  36.141 +  /// Returns a \c SparseMap class
  36.142 +
  36.143 +  /// This function just returns a \c SparseMap class with specified
  36.144    /// default value.
  36.145    /// \relates SparseMap
  36.146    template<typename K, typename V, typename Compare>
  36.147 @@ -448,10 +448,10 @@
  36.148      return SparseMap<K, V, std::less<K> >(value);
  36.149    }
  36.150  
  36.151 -  /// \brief Returns a \ref SparseMap class created from an appropriate
  36.152 +  /// \brief Returns a \c SparseMap class created from an appropriate
  36.153    /// \c std::map
  36.154  
  36.155 -  /// This function just returns a \ref SparseMap class created from an
  36.156 +  /// This function just returns a \c SparseMap class created from an
  36.157    /// appropriate \c std::map.
  36.158    /// \relates SparseMap
  36.159    template<typename K, typename V, typename Compare>
  36.160 @@ -501,9 +501,9 @@
  36.161      operator[](const Key &k) const { return _m1[_m2[k]]; }
  36.162    };
  36.163  
  36.164 -  /// Returns a \ref ComposeMap class
  36.165 -
  36.166 -  /// This function just returns a \ref ComposeMap class.
  36.167 +  /// Returns a \c ComposeMap class
  36.168 +
  36.169 +  /// This function just returns a \c ComposeMap class.
  36.170    ///
  36.171    /// If \c m1 and \c m2 are maps and the \c Value type of \c m2 is
  36.172    /// convertible to the \c Key of \c m1, then <tt>composeMap(m1,m2)[x]</tt>
  36.173 @@ -556,9 +556,9 @@
  36.174      Value operator[](const Key &k) const { return _f(_m1[k],_m2[k]); }
  36.175    };
  36.176  
  36.177 -  /// Returns a \ref CombineMap class
  36.178 -
  36.179 -  /// This function just returns a \ref CombineMap class.
  36.180 +  /// Returns a \c CombineMap class
  36.181 +
  36.182 +  /// This function just returns a \c CombineMap class.
  36.183    ///
  36.184    /// For example, if \c m1 and \c m2 are both maps with \c double
  36.185    /// values, then
  36.186 @@ -625,9 +625,9 @@
  36.187      Value operator[](const Key &k) const { return _f(k); }
  36.188    };
  36.189  
  36.190 -  /// Returns a \ref FunctorToMap class
  36.191 -
  36.192 -  /// This function just returns a \ref FunctorToMap class.
  36.193 +  /// Returns a \c FunctorToMap class
  36.194 +
  36.195 +  /// This function just returns a \c FunctorToMap class.
  36.196    ///
  36.197    /// This function is specialized for adaptable binary function
  36.198    /// classes and C++ functions.
  36.199 @@ -684,9 +684,9 @@
  36.200      Value operator[](const Key &k) const { return _m[k]; }
  36.201    };
  36.202  
  36.203 -  /// Returns a \ref MapToFunctor class
  36.204 -
  36.205 -  /// This function just returns a \ref MapToFunctor class.
  36.206 +  /// Returns a \c MapToFunctor class
  36.207 +
  36.208 +  /// This function just returns a \c MapToFunctor class.
  36.209    /// \relates MapToFunctor
  36.210    template<typename M>
  36.211    inline MapToFunctor<M> mapToFunctor(const M &m) {
  36.212 @@ -723,9 +723,9 @@
  36.213      Value operator[](const Key &k) const { return _m[k]; }
  36.214    };
  36.215  
  36.216 -  /// Returns a \ref ConvertMap class
  36.217 -
  36.218 -  /// This function just returns a \ref ConvertMap class.
  36.219 +  /// Returns a \c ConvertMap class
  36.220 +
  36.221 +  /// This function just returns a \c ConvertMap class.
  36.222    /// \relates ConvertMap
  36.223    template<typename V, typename M>
  36.224    inline ConvertMap<M, V> convertMap(const M &map) {
  36.225 @@ -763,9 +763,9 @@
  36.226      void set(const Key &k, const Value &v) { _m1.set(k,v); _m2.set(k,v); }
  36.227    };
  36.228  
  36.229 -  /// Returns a \ref ForkMap class
  36.230 -
  36.231 -  /// This function just returns a \ref ForkMap class.
  36.232 +  /// Returns a \c ForkMap class
  36.233 +
  36.234 +  /// This function just returns a \c ForkMap class.
  36.235    /// \relates ForkMap
  36.236    template <typename M1, typename M2>
  36.237    inline ForkMap<M1,M2> forkMap(M1 &m1, M2 &m2) {
  36.238 @@ -807,9 +807,9 @@
  36.239      Value operator[](const Key &k) const { return _m1[k]+_m2[k]; }
  36.240    };
  36.241  
  36.242 -  /// Returns an \ref AddMap class
  36.243 -
  36.244 -  /// This function just returns an \ref AddMap class.
  36.245 +  /// Returns an \c AddMap class
  36.246 +
  36.247 +  /// This function just returns an \c AddMap class.
  36.248    ///
  36.249    /// For example, if \c m1 and \c m2 are both maps with \c double
  36.250    /// values, then <tt>addMap(m1,m2)[x]</tt> will be equal to
  36.251 @@ -855,9 +855,9 @@
  36.252      Value operator[](const Key &k) const { return _m1[k]-_m2[k]; }
  36.253    };
  36.254  
  36.255 -  /// Returns a \ref SubMap class
  36.256 -
  36.257 -  /// This function just returns a \ref SubMap class.
  36.258 +  /// Returns a \c SubMap class
  36.259 +
  36.260 +  /// This function just returns a \c SubMap class.
  36.261    ///
  36.262    /// For example, if \c m1 and \c m2 are both maps with \c double
  36.263    /// values, then <tt>subMap(m1,m2)[x]</tt> will be equal to
  36.264 @@ -904,9 +904,9 @@
  36.265      Value operator[](const Key &k) const { return _m1[k]*_m2[k]; }
  36.266    };
  36.267  
  36.268 -  /// Returns a \ref MulMap class
  36.269 -
  36.270 -  /// This function just returns a \ref MulMap class.
  36.271 +  /// Returns a \c MulMap class
  36.272 +
  36.273 +  /// This function just returns a \c MulMap class.
  36.274    ///
  36.275    /// For example, if \c m1 and \c m2 are both maps with \c double
  36.276    /// values, then <tt>mulMap(m1,m2)[x]</tt> will be equal to
  36.277 @@ -952,9 +952,9 @@
  36.278      Value operator[](const Key &k) const { return _m1[k]/_m2[k]; }
  36.279    };
  36.280  
  36.281 -  /// Returns a \ref DivMap class
  36.282 -
  36.283 -  /// This function just returns a \ref DivMap class.
  36.284 +  /// Returns a \c DivMap class
  36.285 +
  36.286 +  /// This function just returns a \c DivMap class.
  36.287    ///
  36.288    /// For example, if \c m1 and \c m2 are both maps with \c double
  36.289    /// values, then <tt>divMap(m1,m2)[x]</tt> will be equal to
  36.290 @@ -1038,9 +1038,9 @@
  36.291      void set(const Key &k, const Value &v) { _m.set(k, v-_v); }
  36.292    };
  36.293  
  36.294 -  /// Returns a \ref ShiftMap class
  36.295 -
  36.296 -  /// This function just returns a \ref ShiftMap class.
  36.297 +  /// Returns a \c ShiftMap class
  36.298 +
  36.299 +  /// This function just returns a \c ShiftMap class.
  36.300    ///
  36.301    /// For example, if \c m is a map with \c double values and \c v is
  36.302    /// \c double, then <tt>shiftMap(m,v)[x]</tt> will be equal to
  36.303 @@ -1052,9 +1052,9 @@
  36.304      return ShiftMap<M, C>(m,v);
  36.305    }
  36.306  
  36.307 -  /// Returns a \ref ShiftWriteMap class
  36.308 -
  36.309 -  /// This function just returns a \ref ShiftWriteMap class.
  36.310 +  /// Returns a \c ShiftWriteMap class
  36.311 +
  36.312 +  /// This function just returns a \c ShiftWriteMap class.
  36.313    ///
  36.314    /// For example, if \c m is a map with \c double values and \c v is
  36.315    /// \c double, then <tt>shiftWriteMap(m,v)[x]</tt> will be equal to
  36.316 @@ -1140,9 +1140,9 @@
  36.317      void set(const Key &k, const Value &v) { _m.set(k, v/_v); }
  36.318    };
  36.319  
  36.320 -  /// Returns a \ref ScaleMap class
  36.321 -
  36.322 -  /// This function just returns a \ref ScaleMap class.
  36.323 +  /// Returns a \c ScaleMap class
  36.324 +
  36.325 +  /// This function just returns a \c ScaleMap class.
  36.326    ///
  36.327    /// For example, if \c m is a map with \c double values and \c v is
  36.328    /// \c double, then <tt>scaleMap(m,v)[x]</tt> will be equal to
  36.329 @@ -1154,9 +1154,9 @@
  36.330      return ScaleMap<M, C>(m,v);
  36.331    }
  36.332  
  36.333 -  /// Returns a \ref ScaleWriteMap class
  36.334 -
  36.335 -  /// This function just returns a \ref ScaleWriteMap class.
  36.336 +  /// Returns a \c ScaleWriteMap class
  36.337 +
  36.338 +  /// This function just returns a \c ScaleWriteMap class.
  36.339    ///
  36.340    /// For example, if \c m is a map with \c double values and \c v is
  36.341    /// \c double, then <tt>scaleWriteMap(m,v)[x]</tt> will be equal to
  36.342 @@ -1240,9 +1240,9 @@
  36.343      void set(const Key &k, const Value &v) { _m.set(k, -v); }
  36.344    };
  36.345  
  36.346 -  /// Returns a \ref NegMap class
  36.347 -
  36.348 -  /// This function just returns a \ref NegMap class.
  36.349 +  /// Returns a \c NegMap class
  36.350 +
  36.351 +  /// This function just returns a \c NegMap class.
  36.352    ///
  36.353    /// For example, if \c m is a map with \c double values, then
  36.354    /// <tt>negMap(m)[x]</tt> will be equal to <tt>-m[x]</tt>.
  36.355 @@ -1253,9 +1253,9 @@
  36.356      return NegMap<M>(m);
  36.357    }
  36.358  
  36.359 -  /// Returns a \ref NegWriteMap class
  36.360 -
  36.361 -  /// This function just returns a \ref NegWriteMap class.
  36.362 +  /// Returns a \c NegWriteMap class
  36.363 +
  36.364 +  /// This function just returns a \c NegWriteMap class.
  36.365    ///
  36.366    /// For example, if \c m is a map with \c double values, then
  36.367    /// <tt>negWriteMap(m)[x]</tt> will be equal to <tt>-m[x]</tt>.
  36.368 @@ -1296,9 +1296,9 @@
  36.369  
  36.370    };
  36.371  
  36.372 -  /// Returns an \ref AbsMap class
  36.373 -
  36.374 -  /// This function just returns an \ref AbsMap class.
  36.375 +  /// Returns an \c AbsMap class
  36.376 +
  36.377 +  /// This function just returns an \c AbsMap class.
  36.378    ///
  36.379    /// For example, if \c m is a map with \c double values, then
  36.380    /// <tt>absMap(m)[x]</tt> will be equal to <tt>m[x]</tt> if
  36.381 @@ -1345,9 +1345,9 @@
  36.382      Value operator[](const Key&) const { return true; }
  36.383    };
  36.384  
  36.385 -  /// Returns a \ref TrueMap class
  36.386 -
  36.387 -  /// This function just returns a \ref TrueMap class.
  36.388 +  /// Returns a \c TrueMap class
  36.389 +
  36.390 +  /// This function just returns a \c TrueMap class.
  36.391    /// \relates TrueMap
  36.392    template<typename K>
  36.393    inline TrueMap<K> trueMap() {
  36.394 @@ -1382,9 +1382,9 @@
  36.395      Value operator[](const Key&) const { return false; }
  36.396    };
  36.397  
  36.398 -  /// Returns a \ref FalseMap class
  36.399 -
  36.400 -  /// This function just returns a \ref FalseMap class.
  36.401 +  /// Returns a \c FalseMap class
  36.402 +
  36.403 +  /// This function just returns a \c FalseMap class.
  36.404    /// \relates FalseMap
  36.405    template<typename K>
  36.406    inline FalseMap<K> falseMap() {
  36.407 @@ -1429,9 +1429,9 @@
  36.408      Value operator[](const Key &k) const { return _m1[k]&&_m2[k]; }
  36.409    };
  36.410  
  36.411 -  /// Returns an \ref AndMap class
  36.412 -
  36.413 -  /// This function just returns an \ref AndMap class.
  36.414 +  /// Returns an \c AndMap class
  36.415 +
  36.416 +  /// This function just returns an \c AndMap class.
  36.417    ///
  36.418    /// For example, if \c m1 and \c m2 are both maps with \c bool values,
  36.419    /// then <tt>andMap(m1,m2)[x]</tt> will be equal to
  36.420 @@ -1477,9 +1477,9 @@
  36.421      Value operator[](const Key &k) const { return _m1[k]||_m2[k]; }
  36.422    };
  36.423  
  36.424 -  /// Returns an \ref OrMap class
  36.425 -
  36.426 -  /// This function just returns an \ref OrMap class.
  36.427 +  /// Returns an \c OrMap class
  36.428 +
  36.429 +  /// This function just returns an \c OrMap class.
  36.430    ///
  36.431    /// For example, if \c m1 and \c m2 are both maps with \c bool values,
  36.432    /// then <tt>orMap(m1,m2)[x]</tt> will be equal to
  36.433 @@ -1544,9 +1544,9 @@
  36.434      void set(const Key &k, bool v) { _m.set(k, !v); }
  36.435    };
  36.436  
  36.437 -  /// Returns a \ref NotMap class
  36.438 -
  36.439 -  /// This function just returns a \ref NotMap class.
  36.440 +  /// Returns a \c NotMap class
  36.441 +
  36.442 +  /// This function just returns a \c NotMap class.
  36.443    ///
  36.444    /// For example, if \c m is a map with \c bool values, then
  36.445    /// <tt>notMap(m)[x]</tt> will be equal to <tt>!m[x]</tt>.
  36.446 @@ -1557,9 +1557,9 @@
  36.447      return NotMap<M>(m);
  36.448    }
  36.449  
  36.450 -  /// Returns a \ref NotWriteMap class
  36.451 -
  36.452 -  /// This function just returns a \ref NotWriteMap class.
  36.453 +  /// Returns a \c NotWriteMap class
  36.454 +
  36.455 +  /// This function just returns a \c NotWriteMap class.
  36.456    ///
  36.457    /// For example, if \c m is a map with \c bool values, then
  36.458    /// <tt>notWriteMap(m)[x]</tt> will be equal to <tt>!m[x]</tt>.
  36.459 @@ -1605,9 +1605,9 @@
  36.460      Value operator[](const Key &k) const { return _m1[k]==_m2[k]; }
  36.461    };
  36.462  
  36.463 -  /// Returns an \ref EqualMap class
  36.464 -
  36.465 -  /// This function just returns an \ref EqualMap class.
  36.466 +  /// Returns an \c EqualMap class
  36.467 +
  36.468 +  /// This function just returns an \c EqualMap class.
  36.469    ///
  36.470    /// For example, if \c m1 and \c m2 are maps with keys and values of
  36.471    /// the same type, then <tt>equalMap(m1,m2)[x]</tt> will be equal to
  36.472 @@ -1653,9 +1653,9 @@
  36.473      Value operator[](const Key &k) const { return _m1[k]<_m2[k]; }
  36.474    };
  36.475  
  36.476 -  /// Returns an \ref LessMap class
  36.477 -
  36.478 -  /// This function just returns an \ref LessMap class.
  36.479 +  /// Returns an \c LessMap class
  36.480 +
  36.481 +  /// This function just returns an \c LessMap class.
  36.482    ///
  36.483    /// For example, if \c m1 and \c m2 are maps with keys and values of
  36.484    /// the same type, then <tt>lessMap(m1,m2)[x]</tt> will be equal to
  36.485 @@ -1683,6 +1683,11 @@
  36.486  
  36.487    }
  36.488  
  36.489 +  /// @}
  36.490 +
  36.491 +  /// \addtogroup maps
  36.492 +  /// @{
  36.493 +
  36.494    /// \brief Writable bool map for logging each \c true assigned element
  36.495    ///
  36.496    /// A \ref concepts::WriteMap "writable" bool map for logging
  36.497 @@ -1745,9 +1750,9 @@
  36.498      Iterator _end;
  36.499    };
  36.500  
  36.501 -  /// Returns a \ref LoggerBoolMap class
  36.502 -
  36.503 -  /// This function just returns a \ref LoggerBoolMap class.
  36.504 +  /// Returns a \c LoggerBoolMap class
  36.505 +
  36.506 +  /// This function just returns a \c LoggerBoolMap class.
  36.507    ///
  36.508    /// The most important usage of it is storing certain nodes or arcs
  36.509    /// that were marked \c true by an algorithm.
  36.510 @@ -1767,7 +1772,7 @@
  36.511    ///
  36.512    /// \note LoggerBoolMap is just \ref concepts::WriteMap "writable", so
  36.513    /// it cannot be used when a readable map is needed, for example as
  36.514 -  /// \c ReachedMap for \ref Bfs, \ref Dfs and \ref Dijkstra algorithms.
  36.515 +  /// \c ReachedMap for \c Bfs, \c Dfs and \c Dijkstra algorithms.
  36.516    ///
  36.517    /// \relates LoggerBoolMap
  36.518    template<typename Iterator>
  36.519 @@ -1775,6 +1780,11 @@
  36.520      return LoggerBoolMap<Iterator>(it);
  36.521    }
  36.522  
  36.523 +  /// @}
  36.524 +
  36.525 +  /// \addtogroup graph_maps
  36.526 +  /// @{
  36.527 +
  36.528    /// Provides an immutable and unique id for each item in the graph.
  36.529  
  36.530    /// The IdMap class provides a unique and immutable id for each item of the
  36.531 @@ -1882,8 +1892,6 @@
  36.532      /// The value type of the InvertableMap.
  36.533      typedef typename Map::Value Value;
  36.534  
  36.535 -
  36.536 -
  36.537      /// \brief Constructor.
  36.538      ///
  36.539      /// Construct a new InvertableMap for the graph.
  36.540 @@ -2049,8 +2057,6 @@
  36.541        return InverseMap(*this);
  36.542      }
  36.543  
  36.544 -
  36.545 -
  36.546    };
  36.547  
  36.548    /// \brief Provides a mutable, continuous and unique descriptor for each
  36.549 @@ -2266,7 +2272,7 @@
  36.550      /// \brief Constructor
  36.551      ///
  36.552      /// Constructor
  36.553 -    /// \param _digraph The digraph that the map belongs to.
  36.554 +    /// \param digraph The digraph that the map belongs to.
  36.555      explicit SourceMap(const Digraph& digraph) : _digraph(digraph) {}
  36.556  
  36.557      /// \brief The subscript operator.
  36.558 @@ -2282,9 +2288,9 @@
  36.559      const Digraph& _digraph;
  36.560    };
  36.561  
  36.562 -  /// \brief Returns a \ref SourceMap class.
  36.563 +  /// \brief Returns a \c SourceMap class.
  36.564    ///
  36.565 -  /// This function just returns an \ref SourceMap class.
  36.566 +  /// This function just returns an \c SourceMap class.
  36.567    /// \relates SourceMap
  36.568    template <typename Digraph>
  36.569    inline SourceMap<Digraph> sourceMap(const Digraph& digraph) {
  36.570 @@ -2305,7 +2311,7 @@
  36.571      /// \brief Constructor
  36.572      ///
  36.573      /// Constructor
  36.574 -    /// \param _digraph The digraph that the map belongs to.
  36.575 +    /// \param digraph The digraph that the map belongs to.
  36.576      explicit TargetMap(const Digraph& digraph) : _digraph(digraph) {}
  36.577  
  36.578      /// \brief The subscript operator.
  36.579 @@ -2321,9 +2327,9 @@
  36.580      const Digraph& _digraph;
  36.581    };
  36.582  
  36.583 -  /// \brief Returns a \ref TargetMap class.
  36.584 +  /// \brief Returns a \c TargetMap class.
  36.585    ///
  36.586 -  /// This function just returns a \ref TargetMap class.
  36.587 +  /// This function just returns a \c TargetMap class.
  36.588    /// \relates TargetMap
  36.589    template <typename Digraph>
  36.590    inline TargetMap<Digraph> targetMap(const Digraph& digraph) {
  36.591 @@ -2344,7 +2350,7 @@
  36.592      /// \brief Constructor
  36.593      ///
  36.594      /// Constructor
  36.595 -    /// \param _graph The graph that the map belongs to.
  36.596 +    /// \param graph The graph that the map belongs to.
  36.597      explicit ForwardMap(const Graph& graph) : _graph(graph) {}
  36.598  
  36.599      /// \brief The subscript operator.
  36.600 @@ -2360,9 +2366,9 @@
  36.601      const Graph& _graph;
  36.602    };
  36.603  
  36.604 -  /// \brief Returns a \ref ForwardMap class.
  36.605 +  /// \brief Returns a \c ForwardMap class.
  36.606    ///
  36.607 -  /// This function just returns an \ref ForwardMap class.
  36.608 +  /// This function just returns an \c ForwardMap class.
  36.609    /// \relates ForwardMap
  36.610    template <typename Graph>
  36.611    inline ForwardMap<Graph> forwardMap(const Graph& graph) {
  36.612 @@ -2383,7 +2389,7 @@
  36.613      /// \brief Constructor
  36.614      ///
  36.615      /// Constructor
  36.616 -    /// \param _graph The graph that the map belongs to.
  36.617 +    /// \param graph The graph that the map belongs to.
  36.618      explicit BackwardMap(const Graph& graph) : _graph(graph) {}
  36.619  
  36.620      /// \brief The subscript operator.
  36.621 @@ -2399,9 +2405,9 @@
  36.622      const Graph& _graph;
  36.623    };
  36.624  
  36.625 -  /// \brief Returns a \ref BackwardMap class
  36.626 -
  36.627 -  /// This function just returns a \ref BackwardMap class.
  36.628 +  /// \brief Returns a \c BackwardMap class
  36.629 +
  36.630 +  /// This function just returns a \c BackwardMap class.
  36.631    /// \relates BackwardMap
  36.632    template <typename Graph>
  36.633    inline BackwardMap<Graph> backwardMap(const Graph& graph) {
    37.1 --- a/lemon/path.h	Thu Oct 09 16:47:01 2008 +0200
    37.2 +++ b/lemon/path.h	Thu Oct 09 16:20:37 2008 +0100
    37.3 @@ -849,7 +849,7 @@
    37.4      /// \brief Return true when the path is empty.
    37.5      int empty() const { return len == 0; }
    37.6  
    37.7 -    /// \break Erase all arcs in the digraph.
    37.8 +    /// \brief Erase all arcs in the digraph.
    37.9      void clear() {
   37.10        len = 0;
   37.11        if (arcs) delete[] arcs;
    38.1 --- a/lemon/smart_graph.h	Thu Oct 09 16:47:01 2008 +0200
    38.2 +++ b/lemon/smart_graph.h	Thu Oct 09 16:20:37 2008 +0100
    38.3 @@ -365,7 +365,7 @@
    38.4        ///Constructor that immediately makes a snapshot
    38.5  
    38.6        ///This constructor immediately makes a snapshot of the digraph.
    38.7 -      ///\param _g The digraph we make a snapshot of.
    38.8 +      ///\param graph The digraph we make a snapshot of.
    38.9        Snapshot(SmartDigraph &graph) : _graph(&graph) {
   38.10          node_num=_graph->nodes.size();
   38.11          arc_num=_graph->arcs.size();
   38.12 @@ -377,7 +377,7 @@
   38.13        ///
   38.14        ///This function can be called more than once. In case of a repeated
   38.15        ///call, the previous snapshot gets lost.
   38.16 -      ///\param _g The digraph we make the snapshot of.
   38.17 +      ///\param graph The digraph we make the snapshot of.
   38.18        void save(SmartDigraph &graph)
   38.19        {
   38.20          _graph=&graph;
   38.21 @@ -775,7 +775,7 @@
   38.22        ///Constructor that immediately makes a snapshot
   38.23  
   38.24        ///This constructor immediately makes a snapshot of the digraph.
   38.25 -      ///\param g The digraph we make a snapshot of.
   38.26 +      ///\param graph The digraph we make a snapshot of.
   38.27        Snapshot(SmartGraph &graph) {
   38.28          graph.saveSnapshot(*this);
   38.29        }
   38.30 @@ -786,7 +786,7 @@
   38.31        ///
   38.32        ///This function can be called more than once. In case of a repeated
   38.33        ///call, the previous snapshot gets lost.
   38.34 -      ///\param g The digraph we make the snapshot of.
   38.35 +      ///\param graph The digraph we make the snapshot of.
   38.36        void save(SmartGraph &graph)
   38.37        {
   38.38          graph.saveSnapshot(*this);
    39.1 --- a/lemon/time_measure.h	Thu Oct 09 16:47:01 2008 +0200
    39.2 +++ b/lemon/time_measure.h	Thu Oct 09 16:20:37 2008 +0100
    39.3 @@ -311,12 +311,11 @@
    39.4      ///\name Control the state of the timer
    39.5      ///Basically a Timer can be either running or stopped,
    39.6      ///but it provides a bit finer control on the execution.
    39.7 -    ///The \ref Timer also counts the number of \ref start()
    39.8 -    ///executions, and is stops only after the same amount (or more)
    39.9 -    ///\ref stop() "stop()"s. This can be useful e.g. to compute
   39.10 -    ///the running time
   39.11 +    ///The \ref lemon::Timer "Timer" also counts the number of
   39.12 +    ///\ref lemon::Timer::start() "start()" executions, and it stops
   39.13 +    ///only after the same amount (or more) \ref lemon::Timer::stop()
   39.14 +    ///"stop()"s. This can be useful e.g. to compute the running time
   39.15      ///of recursive functions.
   39.16 -    ///
   39.17  
   39.18      ///@{
   39.19  
   39.20 @@ -472,7 +471,7 @@
   39.21      ///@}
   39.22    };
   39.23  
   39.24 -  ///Same as \ref Timer but prints a report on destruction.
   39.25 +  ///Same as Timer but prints a report on destruction.
   39.26  
   39.27    ///Same as \ref Timer but prints a report on destruction.
   39.28    ///This example shows its usage.
   39.29 @@ -491,22 +490,22 @@
   39.30      std::string _title;
   39.31      std::ostream &_os;
   39.32    public:
   39.33 -    ///\e
   39.34 +    ///Constructor
   39.35  
   39.36 +    ///Constructor.
   39.37      ///\param title This text will be printed before the ellapsed time.
   39.38      ///\param os The stream to print the report to.
   39.39      ///\param run Sets whether the timer should start immediately.
   39.40 -
   39.41      TimeReport(std::string title,std::ostream &os=std::cerr,bool run=true)
   39.42        : Timer(run), _title(title), _os(os){}
   39.43 -    ///\e Prints the ellapsed time on destruction.
   39.44 +    ///Destructor that prints the ellapsed time
   39.45      ~TimeReport()
   39.46      {
   39.47        _os << _title << *this << std::endl;
   39.48      }
   39.49    };
   39.50  
   39.51 -  ///'Do nothing' version of \ref TimeReport
   39.52 +  ///'Do nothing' version of TimeReport
   39.53  
   39.54    ///\sa TimeReport
   39.55    ///
    40.1 --- a/tools/Makefile.am	Thu Oct 09 16:47:01 2008 +0200
    40.2 +++ b/tools/Makefile.am	Thu Oct 09 16:20:37 2008 +0100
    40.3 @@ -1,5 +1,6 @@
    40.4  if WANT_TOOLS
    40.5  
    40.6  bin_PROGRAMS +=
    40.7 +dist_bin_SCRIPTS += tools/lemon-0.x-to-1.x.sh
    40.8  
    40.9  endif WANT_TOOLS
    41.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    41.2 +++ b/tools/lemon-0.x-to-1.x.sh	Thu Oct 09 16:20:37 2008 +0100
    41.3 @@ -0,0 +1,127 @@
    41.4 +#!/bin/bash
    41.5 +
    41.6 +set -e
    41.7 +
    41.8 +if [ $# -eq 0 -o x$1 = "x-h" -o x$1 = "x-help" -o x$1 = "x--help" ]; then
    41.9 +	echo "Usage:"
   41.10 +	echo "  $0 source-file"
   41.11 +	exit
   41.12 +fi
   41.13 +
   41.14 +TMP=`mktemp`
   41.15 +
   41.16 +sed	-e "s/undirected graph/_gr_aph_label_/g"\
   41.17 +	-e "s/undirected edge/_ed_ge_label_/g"\
   41.18 +	-e "s/graph_/_gr_aph_label__/g"\
   41.19 +	-e "s/_graph/__gr_aph_label_/g"\
   41.20 +	-e "s/UGraph/_Gr_aph_label_/g"\
   41.21 +	-e "s/uGraph/_gr_aph_label_/g"\
   41.22 +	-e "s/ugraph/_gr_aph_label_/g"\
   41.23 +	-e "s/Graph/_Digr_aph_label_/g"\
   41.24 +	-e "s/graph/_digr_aph_label_/g"\
   41.25 +	-e "s/UEdge/_Ed_ge_label_/g"\
   41.26 +	-e "s/uEdge/_ed_ge_label_/g"\
   41.27 +	-e "s/uedge/_ed_ge_label_/g"\
   41.28 +	-e "s/IncEdgeIt/_In_cEd_geIt_label_/g"\
   41.29 +	-e "s/Edge/_Ar_c_label_/g"\
   41.30 +	-e "s/edge/_ar_c_label_/g"\
   41.31 +	-e "s/ANode/_Re_d_label_/g"\
   41.32 +	-e "s/BNode/_Blu_e_label_/g"\
   41.33 +	-e "s/A-Node/_Re_d_label_/g"\
   41.34 +	-e "s/B-Node/_Blu_e_label_/g"\
   41.35 +	-e "s/anode/_re_d_label_/g"\
   41.36 +	-e "s/bnode/_blu_e_label_/g"\
   41.37 +	-e "s/aNode/_re_d_label_/g"\
   41.38 +	-e "s/bNode/_blu_e_label_/g"\
   41.39 +	-e "s/_Digr_aph_label_/Digraph/g"\
   41.40 +	-e "s/_digr_aph_label_/digraph/g"\
   41.41 +	-e "s/_Gr_aph_label_/Graph/g"\
   41.42 +	-e "s/_gr_aph_label_/graph/g"\
   41.43 +	-e "s/_Ar_c_label_/Arc/g"\
   41.44 +	-e "s/_ar_c_label_/arc/g"\
   41.45 +	-e "s/_Ed_ge_label_/Edge/g"\
   41.46 +	-e "s/_ed_ge_label_/edge/g"\
   41.47 +	-e "s/_In_cEd_geIt_label_/IncEdgeIt/g"\
   41.48 +	-e "s/_Re_d_label_/Red/g"\
   41.49 +	-e "s/_Blu_e_label_/Blue/g"\
   41.50 +	-e "s/_re_d_label_/red/g"\
   41.51 +	-e "s/_blu_e_label_/blue/g"\
   41.52 +	-e "s/\(\W\)DefPredMap\(\W\)/\1SetPredMap\2/g"\
   41.53 +	-e "s/\(\W\)DefPredMap$/\1SetPredMap/g"\
   41.54 +	-e "s/^DefPredMap\(\W\)/SetPredMap\1/g"\
   41.55 +	-e "s/^DefPredMap$/SetPredMap/g"\
   41.56 +	-e "s/\(\W\)DefDistMap\(\W\)/\1SetDistMap\2/g"\
   41.57 +	-e "s/\(\W\)DefDistMap$/\1SetDistMap/g"\
   41.58 +	-e "s/^DefDistMap\(\W\)/SetDistMap\1/g"\
   41.59 +	-e "s/^DefDistMap$/SetDistMap/g"\
   41.60 +	-e "s/\(\W\)DefReachedMap\(\W\)/\1SetReachedMap\2/g"\
   41.61 +	-e "s/\(\W\)DefReachedMap$/\1SetReachedMap/g"\
   41.62 +	-e "s/^DefReachedMap\(\W\)/SetReachedMap\1/g"\
   41.63 +	-e "s/^DefReachedMap$/SetReachedMap/g"\
   41.64 +	-e "s/\(\W\)DefProcessedMap\(\W\)/\1SetProcessedMap\2/g"\
   41.65 +	-e "s/\(\W\)DefProcessedMap$/\1SetProcessedMap/g"\
   41.66 +	-e "s/^DefProcessedMap\(\W\)/SetProcessedMap\1/g"\
   41.67 +	-e "s/^DefProcessedMap$/SetProcessedMap/g"\
   41.68 +	-e "s/\(\W\)DefHeap\(\W\)/\1SetHeap\2/g"\
   41.69 +	-e "s/\(\W\)DefHeap$/\1SetHeap/g"\
   41.70 +	-e "s/^DefHeap\(\W\)/SetHeap\1/g"\
   41.71 +	-e "s/^DefHeap$/SetHeap/g"\
   41.72 +	-e "s/\(\W\)DefStandardHeap\(\W\)/\1SetStandradHeap\2/g"\
   41.73 +	-e "s/\(\W\)DefStandardHeap$/\1SetStandradHeap/g"\
   41.74 +	-e "s/^DefStandardHeap\(\W\)/SetStandradHeap\1/g"\
   41.75 +	-e "s/^DefStandardHeap$/SetStandradHeap/g"\
   41.76 +	-e "s/\(\W\)DefOperationTraits\(\W\)/\1SetOperationTraits\2/g"\
   41.77 +	-e "s/\(\W\)DefOperationTraits$/\1SetOperationTraits/g"\
   41.78 +	-e "s/^DefOperationTraits\(\W\)/SetOperationTraits\1/g"\
   41.79 +	-e "s/^DefOperationTraits$/SetOperationTraits/g"\
   41.80 +	-e "s/\(\W\)DefProcessedMapToBeDefaultMap\(\W\)/\1SetStandardProcessedMap\2/g"\
   41.81 +	-e "s/\(\W\)DefProcessedMapToBeDefaultMap$/\1SetStandardProcessedMap/g"\
   41.82 +	-e "s/^DefProcessedMapToBeDefaultMap\(\W\)/SetStandardProcessedMap\1/g"\
   41.83 +	-e "s/^DefProcessedMapToBeDefaultMap$/SetStandardProcessedMap/g"\
   41.84 +	-e "s/\(\W\)IntegerMap\(\W\)/\1RangeMap\2/g"\
   41.85 +	-e "s/\(\W\)IntegerMap$/\1RangeMap/g"\
   41.86 +	-e "s/^IntegerMap\(\W\)/RangeMap\1/g"\
   41.87 +	-e "s/^IntegerMap$/RangeMap/g"\
   41.88 +	-e "s/\(\W\)integerMap\(\W\)/\1rangeMap\2/g"\
   41.89 +	-e "s/\(\W\)integerMap$/\1rangeMap/g"\
   41.90 +	-e "s/^integerMap\(\W\)/rangeMap\1/g"\
   41.91 +	-e "s/^integerMap$/rangeMap/g"\
   41.92 +	-e "s/\(\W\)copyGraph\(\W\)/\1graphCopy\2/g"\
   41.93 +	-e "s/\(\W\)copyGraph$/\1graphCopy/g"\
   41.94 +	-e "s/^copyGraph\(\W\)/graphCopy\1/g"\
   41.95 +	-e "s/^copyGraph$/graphCopy/g"\
   41.96 +	-e "s/\(\W\)copyDigraph\(\W\)/\1digraphCopy\2/g"\
   41.97 +	-e "s/\(\W\)copyDigraph$/\1digraphCopy/g"\
   41.98 +	-e "s/^copyDigraph\(\W\)/digraphCopy\1/g"\
   41.99 +	-e "s/^copyDigraph$/digraphCopy/g"\
  41.100 +	-e "s/\(\W\)\([sS]\)tdMap\(\W\)/\1\2parseMap\3/g"\
  41.101 +	-e "s/\(\W\)\([sS]\)tdMap$/\1\2parseMap/g"\
  41.102 +	-e "s/^\([sS]\)tdMap\(\W\)/\1parseMap\2/g"\
  41.103 +	-e "s/^\([sS]\)tdMap$/\1parseMap/g"\
  41.104 +	-e "s/\(\W\)\([Ff]\)unctorMap\(\W\)/\1\2unctorToMap\3/g"\
  41.105 +	-e "s/\(\W\)\([Ff]\)unctorMap$/\1\2unctorToMap/g"\
  41.106 +	-e "s/^\([Ff]\)unctorMap\(\W\)/\1unctorToMap\2/g"\
  41.107 +	-e "s/^\([Ff]\)unctorMap$/\1unctorToMap/g"\
  41.108 +	-e "s/\(\W\)\([Mm]\)apFunctor\(\W\)/\1\2apToFunctor\3/g"\
  41.109 +	-e "s/\(\W\)\([Mm]\)apFunctor$/\1\2apToFunctor/g"\
  41.110 +	-e "s/^\([Mm]\)apFunctor\(\W\)/\1apToFunctor\2/g"\
  41.111 +	-e "s/^\([Mm]\)apFunctor$/\1apToFunctor/g"\
  41.112 +	-e "s/\(\W\)\([Ff]\)orkWriteMap\(\W\)/\1\2orkMap\3/g"\
  41.113 +	-e "s/\(\W\)\([Ff]\)orkWriteMap$/\1\2orkMap/g"\
  41.114 +	-e "s/^\([Ff]\)orkWriteMap\(\W\)/\1orkMap\2/g"\
  41.115 +	-e "s/^\([Ff]\)orkWriteMap$/\1orkMap/g"\
  41.116 +	-e "s/\(\W\)StoreBoolMap\(\W\)/\1LoggerBoolMap\2/g"\
  41.117 +	-e "s/\(\W\)StoreBoolMap$/\1LoggerBoolMap/g"\
  41.118 +	-e "s/^StoreBoolMap\(\W\)/LoggerBoolMap\1/g"\
  41.119 +	-e "s/^StoreBoolMap$/LoggerBoolMap/g"\
  41.120 +	-e "s/\(\W\)storeBoolMap\(\W\)/\1loggerBoolMap\2/g"\
  41.121 +	-e "s/\(\W\)storeBoolMap$/\1loggerBoolMap/g"\
  41.122 +	-e "s/^storeBoolMap\(\W\)/loggerBoolMap\1/g"\
  41.123 +	-e "s/^storeBoolMap$/loggerBoolMap/g"\
  41.124 +	-e "s/\(\W\)BoundingBox\(\W\)/\1Box\2/g"\
  41.125 +	-e "s/\(\W\)BoundingBox$/\1Box/g"\
  41.126 +	-e "s/^BoundingBox\(\W\)/Box\1/g"\
  41.127 +	-e "s/^BoundingBox$/Box/g"\
  41.128 +<$1 > $TMP
  41.129 +
  41.130 +mv $TMP $1
  41.131 \ No newline at end of file