1.1 --- a/Makefile.am Thu Oct 09 13:52:01 2008 +0100
1.2 +++ b/Makefile.am Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
2.2 +++ b/README Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
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 13:52:01 2008 +0100
4.2 +++ b/configure.ac Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
5.2 +++ b/demo/arg_parser_demo.cc Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
6.2 +++ b/demo/graph_to_eps_demo.cc Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
7.2 +++ b/doc/Makefile.am Thu Oct 09 14:37:44 2008 +0100
7.3 @@ -6,6 +6,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 13:52:01 2008 +0100
8.2 +++ b/doc/groups.dox Thu Oct 09 14:37:44 2008 +0100
8.3 @@ -42,7 +42,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 @@ -52,8 +54,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 @@ -65,7 +69,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 @@ -82,7 +85,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 @@ -96,13 +99,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 @@ -143,7 +146,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 @@ -155,7 +157,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 @@ -171,11 +172,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 @@ -183,7 +184,7 @@
8.90 */
8.91
8.92 /**
8.93 -@defgroup spantree Minimum Spanning Tree algorithms
8.94 +@defgroup spantree Minimum Spanning Tree Algorithms
8.95 @ingroup algs
8.96 \brief Algorithms for finding a minimum cost spanning tree in a graph.
8.97
8.98 @@ -191,6 +192,7 @@
8.99 tree in a graph
8.100 */
8.101
8.102 +@ingroup algs
8.103 /**
8.104 @defgroup utils Tools and Utilities
8.105 \brief Tools and utilities for programming in LEMON
8.106 @@ -216,7 +218,7 @@
8.107 */
8.108
8.109 /**
8.110 -@defgroup timecount Time measuring and Counting
8.111 +@defgroup timecount Time Measuring and Counting
8.112 @ingroup misc
8.113 \brief Simple tools for measuring the performance of algorithms.
8.114
8.115 @@ -239,19 +241,20 @@
8.116 This group describes the tools for importing and exporting graphs
8.117 and graph related data. Now it supports the LEMON format
8.118 and the encapsulated postscript (EPS) format.
8.119 +postscript (EPS) format.
8.120 */
8.121
8.122 /**
8.123 @defgroup lemon_io LEMON Input-Output
8.124 @ingroup io_group
8.125 -\brief Reading and writing \ref lgf-format "LEMON Graph Format".
8.126 +\brief Reading and writing LEMON Graph Format.
8.127
8.128 This group describes methods for reading and writing
8.129 \ref lgf-format "LEMON Graph Format".
8.130 */
8.131
8.132 /**
8.133 -@defgroup eps_io Postscript exporting
8.134 +@defgroup eps_io Postscript Exporting
8.135 @ingroup io_group
8.136 \brief General \c EPS drawer and graph exporter
8.137
8.138 @@ -259,7 +262,6 @@
8.139 graph exporting tools.
8.140 */
8.141
8.142 -
8.143 /**
8.144 @defgroup concept Concepts
8.145 \brief Skeleton classes and concept checking classes
8.146 @@ -287,10 +289,8 @@
8.147 concept indeed provides all the required features.
8.148
8.149 - Finally, They can serve as a skeleton of a new implementation of a concept.
8.150 -
8.151 */
8.152
8.153 -
8.154 /**
8.155 @defgroup graph_concepts Graph Structure Concepts
8.156 @ingroup concept
8.157 @@ -300,6 +300,8 @@
8.158 graph structures and helper classes used to implement these.
8.159 */
8.160
8.161 +
8.162 +This group describes the skeletons and concept checking classes of maps.
8.163 /**
8.164 \anchor demoprograms
8.165
9.1 --- a/doc/lgf.dox Thu Oct 09 13:52:01 2008 +0100
9.2 +++ b/doc/lgf.dox Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
10.2 +++ b/doc/mainpage.dox Thu Oct 09 14:37:44 2008 +0100
10.3 @@ -43,11 +43,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 14:37:44 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 13:52:01 2008 +0100
12.2 +++ b/lemon/arg_parser.cc Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
13.2 +++ b/lemon/arg_parser.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
14.2 +++ b/lemon/bfs.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
15.2 +++ b/lemon/bits/alteration_notifier.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
16.2 +++ b/lemon/bits/array_map.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
17.2 +++ b/lemon/bits/base_extender.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
18.2 +++ b/lemon/bits/bezier.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
19.2 +++ b/lemon/bits/default_map.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
20.2 +++ b/lemon/bits/enable_if.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
21.2 +++ b/lemon/bits/graph_extender.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
22.2 +++ b/lemon/bits/map_extender.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
23.2 +++ b/lemon/bits/traits.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
24.2 +++ b/lemon/bits/vector_map.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
25.2 +++ b/lemon/color.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
26.2 +++ b/lemon/concepts/graph_components.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
27.2 +++ b/lemon/concepts/maps.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
28.2 +++ b/lemon/core.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
29.2 +++ b/lemon/dfs.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
30.2 +++ b/lemon/dijkstra.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
31.2 +++ b/lemon/dim2.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
32.2 +++ b/lemon/graph_to_eps.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
33.2 +++ b/lemon/lgf_reader.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
34.2 +++ b/lemon/lgf_writer.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
35.2 +++ b/lemon/list_graph.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
36.2 +++ b/lemon/maps.h Thu Oct 09 14:37:44 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 + /// Returns a \c NullMap class
36.18
36.19 - /// This function just returns a \ref NullMap class.
36.20 + /// This function just returns a \c NullMap class.
36.21 /// \relates NullMap
36.22 template <typename K, typename V>
36.23 NullMap<K, V> nullMap() {
36.24 @@ -88,7 +88,7 @@
36.25 /// This \ref concepts::ReadMap "readable map" assigns a specified
36.26 /// value to each key.
36.27 ///
36.28 - /// In other aspects it is equivalent to \ref NullMap.
36.29 + /// In other aspects it is equivalent to \c NullMap.
36.30 /// So it conforms the \ref concepts::ReadWriteMap "ReadWriteMap"
36.31 /// concept, but it absorbs the data written to it.
36.32 ///
36.33 @@ -133,9 +133,9 @@
36.34 ConstMap(const ConstMap<K, V1> &, const Value &v) : _value(v) {}
36.35 };
36.36
36.37 - /// Returns a \ref ConstMap class
36.38 + /// Returns a \c ConstMap class
36.39
36.40 - /// This function just returns a \ref ConstMap class.
36.41 + /// This function just returns a \c ConstMap class.
36.42 /// \relates ConstMap
36.43 template<typename K, typename V>
36.44 inline ConstMap<K, V> constMap(const V &v) {
36.45 @@ -156,7 +156,7 @@
36.46 /// This \ref concepts::ReadMap "readable map" assigns a specified
36.47 /// value to each key.
36.48 ///
36.49 - /// In other aspects it is equivalent to \ref NullMap.
36.50 + /// In other aspects it is equivalent to \c NullMap.
36.51 /// So it conforms the \ref concepts::ReadWriteMap "ReadWriteMap"
36.52 /// concept, but it absorbs the data written to it.
36.53 ///
36.54 @@ -182,9 +182,9 @@
36.55 void set(const Key&, const Value&) {}
36.56 };
36.57
36.58 - /// Returns a \ref ConstMap class with inlined constant value
36.59 + /// Returns a \c ConstMap class with inlined constant value
36.60
36.61 - /// This function just returns a \ref ConstMap class with inlined
36.62 + /// This function just returns a \c ConstMap class with inlined
36.63 /// constant value.
36.64 /// \relates ConstMap
36.65 template<typename K, typename V, V v>
36.66 @@ -212,9 +212,9 @@
36.67 }
36.68 };
36.69
36.70 - /// Returns an \ref IdentityMap class
36.71 + /// Returns an \c IdentityMap class
36.72
36.73 - /// This function just returns an \ref IdentityMap class.
36.74 + /// This function just returns an \c IdentityMap class.
36.75 /// \relates IdentityMap
36.76 template<typename T>
36.77 inline IdentityMap<T> identityMap() {
36.78 @@ -228,7 +228,7 @@
36.79 /// This map is essentially a wrapper for \c std::vector. It assigns
36.80 /// values to integer keys from the range <tt>[0..size-1]</tt>.
36.81 /// It can be used with some data structures, for example
36.82 - /// \ref UnionFind, \ref BinHeap, when the used items are small
36.83 + /// \c UnionFind, \c BinHeap, when the used items are small
36.84 /// integers. This map conforms the \ref concepts::ReferenceMap
36.85 /// "ReferenceMap" concept.
36.86 ///
36.87 @@ -268,7 +268,7 @@
36.88 RangeMap(const std::vector<V1>& vector)
36.89 : _vector(vector.begin(), vector.end()) {}
36.90
36.91 - /// Constructs the map from another \ref RangeMap.
36.92 + /// Constructs the map from another \c RangeMap.
36.93 template <typename V1>
36.94 RangeMap(const RangeMap<V1> &c)
36.95 : _vector(c._vector.begin(), c._vector.end()) {}
36.96 @@ -311,19 +311,19 @@
36.97 }
36.98 };
36.99
36.100 - /// Returns a \ref RangeMap class
36.101 + /// Returns a \c RangeMap class
36.102
36.103 - /// This function just returns a \ref RangeMap class.
36.104 + /// This function just returns a \c RangeMap class.
36.105 /// \relates RangeMap
36.106 template<typename V>
36.107 inline RangeMap<V> rangeMap(int size = 0, const V &value = V()) {
36.108 return RangeMap<V>(size, value);
36.109 }
36.110
36.111 - /// \brief Returns a \ref RangeMap class created from an appropriate
36.112 + /// \brief Returns a \c RangeMap class created from an appropriate
36.113 /// \c std::vector
36.114
36.115 - /// This function just returns a \ref RangeMap class created from an
36.116 + /// This function just returns a \c RangeMap class created from an
36.117 /// appropriate \c std::vector.
36.118 /// \relates RangeMap
36.119 template<typename V>
36.120 @@ -388,7 +388,7 @@
36.121 const Value &value = Value())
36.122 : _map(map.begin(), map.end()), _value(value) {}
36.123
36.124 - /// \brief Constructs the map from another \ref SparseMap.
36.125 + /// \brief Constructs the map from another \c SparseMap.
36.126 template<typename V1, typename Comp1>
36.127 SparseMap(const SparseMap<Key, V1, Comp1> &c)
36.128 : _map(c._map.begin(), c._map.end()), _value(c._value) {}
36.129 @@ -433,9 +433,9 @@
36.130 }
36.131 };
36.132
36.133 - /// Returns a \ref SparseMap class
36.134 + /// Returns a \c SparseMap class
36.135
36.136 - /// This function just returns a \ref SparseMap class with specified
36.137 + /// This function just returns a \c SparseMap class with specified
36.138 /// default value.
36.139 /// \relates SparseMap
36.140 template<typename K, typename V, typename Compare>
36.141 @@ -448,10 +448,10 @@
36.142 return SparseMap<K, V, std::less<K> >(value);
36.143 }
36.144
36.145 - /// \brief Returns a \ref SparseMap class created from an appropriate
36.146 + /// \brief Returns a \c SparseMap class created from an appropriate
36.147 /// \c std::map
36.148
36.149 - /// This function just returns a \ref SparseMap class created from an
36.150 + /// This function just returns a \c SparseMap class created from an
36.151 /// appropriate \c std::map.
36.152 /// \relates SparseMap
36.153 template<typename K, typename V, typename Compare>
36.154 @@ -501,9 +501,9 @@
36.155 operator[](const Key &k) const { return _m1[_m2[k]]; }
36.156 };
36.157
36.158 - /// Returns a \ref ComposeMap class
36.159 + /// Returns a \c ComposeMap class
36.160
36.161 - /// This function just returns a \ref ComposeMap class.
36.162 + /// This function just returns a \c ComposeMap class.
36.163 ///
36.164 /// If \c m1 and \c m2 are maps and the \c Value type of \c m2 is
36.165 /// convertible to the \c Key of \c m1, then <tt>composeMap(m1,m2)[x]</tt>
36.166 @@ -556,9 +556,9 @@
36.167 Value operator[](const Key &k) const { return _f(_m1[k],_m2[k]); }
36.168 };
36.169
36.170 - /// Returns a \ref CombineMap class
36.171 + /// Returns a \c CombineMap class
36.172
36.173 - /// This function just returns a \ref CombineMap class.
36.174 + /// This function just returns a \c CombineMap class.
36.175 ///
36.176 /// For example, if \c m1 and \c m2 are both maps with \c double
36.177 /// values, then
36.178 @@ -625,9 +625,9 @@
36.179 Value operator[](const Key &k) const { return _f(k); }
36.180 };
36.181
36.182 - /// Returns a \ref FunctorToMap class
36.183 + /// Returns a \c FunctorToMap class
36.184
36.185 - /// This function just returns a \ref FunctorToMap class.
36.186 + /// This function just returns a \c FunctorToMap class.
36.187 ///
36.188 /// This function is specialized for adaptable binary function
36.189 /// classes and C++ functions.
36.190 @@ -684,9 +684,9 @@
36.191 Value operator[](const Key &k) const { return _m[k]; }
36.192 };
36.193
36.194 - /// Returns a \ref MapToFunctor class
36.195 + /// Returns a \c MapToFunctor class
36.196
36.197 - /// This function just returns a \ref MapToFunctor class.
36.198 + /// This function just returns a \c MapToFunctor class.
36.199 /// \relates MapToFunctor
36.200 template<typename M>
36.201 inline MapToFunctor<M> mapToFunctor(const M &m) {
36.202 @@ -723,9 +723,9 @@
36.203 Value operator[](const Key &k) const { return _m[k]; }
36.204 };
36.205
36.206 - /// Returns a \ref ConvertMap class
36.207 + /// Returns a \c ConvertMap class
36.208
36.209 - /// This function just returns a \ref ConvertMap class.
36.210 + /// This function just returns a \c ConvertMap class.
36.211 /// \relates ConvertMap
36.212 template<typename V, typename M>
36.213 inline ConvertMap<M, V> convertMap(const M &map) {
36.214 @@ -763,9 +763,9 @@
36.215 void set(const Key &k, const Value &v) { _m1.set(k,v); _m2.set(k,v); }
36.216 };
36.217
36.218 - /// Returns a \ref ForkMap class
36.219 + /// Returns a \c ForkMap class
36.220
36.221 - /// This function just returns a \ref ForkMap class.
36.222 + /// This function just returns a \c ForkMap class.
36.223 /// \relates ForkMap
36.224 template <typename M1, typename M2>
36.225 inline ForkMap<M1,M2> forkMap(M1 &m1, M2 &m2) {
36.226 @@ -807,9 +807,9 @@
36.227 Value operator[](const Key &k) const { return _m1[k]+_m2[k]; }
36.228 };
36.229
36.230 - /// Returns an \ref AddMap class
36.231 + /// Returns an \c AddMap class
36.232
36.233 - /// This function just returns an \ref AddMap class.
36.234 + /// This function just returns an \c AddMap class.
36.235 ///
36.236 /// For example, if \c m1 and \c m2 are both maps with \c double
36.237 /// values, then <tt>addMap(m1,m2)[x]</tt> will be equal to
36.238 @@ -855,9 +855,9 @@
36.239 Value operator[](const Key &k) const { return _m1[k]-_m2[k]; }
36.240 };
36.241
36.242 - /// Returns a \ref SubMap class
36.243 + /// Returns a \c SubMap class
36.244
36.245 - /// This function just returns a \ref SubMap class.
36.246 + /// This function just returns a \c SubMap class.
36.247 ///
36.248 /// For example, if \c m1 and \c m2 are both maps with \c double
36.249 /// values, then <tt>subMap(m1,m2)[x]</tt> will be equal to
36.250 @@ -904,9 +904,9 @@
36.251 Value operator[](const Key &k) const { return _m1[k]*_m2[k]; }
36.252 };
36.253
36.254 - /// Returns a \ref MulMap class
36.255 + /// Returns a \c MulMap class
36.256
36.257 - /// This function just returns a \ref MulMap class.
36.258 + /// This function just returns a \c MulMap class.
36.259 ///
36.260 /// For example, if \c m1 and \c m2 are both maps with \c double
36.261 /// values, then <tt>mulMap(m1,m2)[x]</tt> will be equal to
36.262 @@ -952,9 +952,9 @@
36.263 Value operator[](const Key &k) const { return _m1[k]/_m2[k]; }
36.264 };
36.265
36.266 - /// Returns a \ref DivMap class
36.267 + /// Returns a \c DivMap class
36.268
36.269 - /// This function just returns a \ref DivMap class.
36.270 + /// This function just returns a \c DivMap class.
36.271 ///
36.272 /// For example, if \c m1 and \c m2 are both maps with \c double
36.273 /// values, then <tt>divMap(m1,m2)[x]</tt> will be equal to
36.274 @@ -1038,9 +1038,9 @@
36.275 void set(const Key &k, const Value &v) { _m.set(k, v-_v); }
36.276 };
36.277
36.278 - /// Returns a \ref ShiftMap class
36.279 + /// Returns a \c ShiftMap class
36.280
36.281 - /// This function just returns a \ref ShiftMap class.
36.282 + /// This function just returns a \c ShiftMap class.
36.283 ///
36.284 /// For example, if \c m is a map with \c double values and \c v is
36.285 /// \c double, then <tt>shiftMap(m,v)[x]</tt> will be equal to
36.286 @@ -1052,9 +1052,9 @@
36.287 return ShiftMap<M, C>(m,v);
36.288 }
36.289
36.290 - /// Returns a \ref ShiftWriteMap class
36.291 + /// Returns a \c ShiftWriteMap class
36.292
36.293 - /// This function just returns a \ref ShiftWriteMap class.
36.294 + /// This function just returns a \c ShiftWriteMap class.
36.295 ///
36.296 /// For example, if \c m is a map with \c double values and \c v is
36.297 /// \c double, then <tt>shiftWriteMap(m,v)[x]</tt> will be equal to
36.298 @@ -1140,9 +1140,9 @@
36.299 void set(const Key &k, const Value &v) { _m.set(k, v/_v); }
36.300 };
36.301
36.302 - /// Returns a \ref ScaleMap class
36.303 + /// Returns a \c ScaleMap class
36.304
36.305 - /// This function just returns a \ref ScaleMap class.
36.306 + /// This function just returns a \c ScaleMap class.
36.307 ///
36.308 /// For example, if \c m is a map with \c double values and \c v is
36.309 /// \c double, then <tt>scaleMap(m,v)[x]</tt> will be equal to
36.310 @@ -1154,9 +1154,9 @@
36.311 return ScaleMap<M, C>(m,v);
36.312 }
36.313
36.314 - /// Returns a \ref ScaleWriteMap class
36.315 + /// Returns a \c ScaleWriteMap class
36.316
36.317 - /// This function just returns a \ref ScaleWriteMap class.
36.318 + /// This function just returns a \c ScaleWriteMap class.
36.319 ///
36.320 /// For example, if \c m is a map with \c double values and \c v is
36.321 /// \c double, then <tt>scaleWriteMap(m,v)[x]</tt> will be equal to
36.322 @@ -1240,9 +1240,9 @@
36.323 void set(const Key &k, const Value &v) { _m.set(k, -v); }
36.324 };
36.325
36.326 - /// Returns a \ref NegMap class
36.327 + /// Returns a \c NegMap class
36.328
36.329 - /// This function just returns a \ref NegMap class.
36.330 + /// This function just returns a \c NegMap class.
36.331 ///
36.332 /// For example, if \c m is a map with \c double values, then
36.333 /// <tt>negMap(m)[x]</tt> will be equal to <tt>-m[x]</tt>.
36.334 @@ -1253,9 +1253,9 @@
36.335 return NegMap<M>(m);
36.336 }
36.337
36.338 - /// Returns a \ref NegWriteMap class
36.339 + /// Returns a \c NegWriteMap class
36.340
36.341 - /// This function just returns a \ref NegWriteMap class.
36.342 + /// This function just returns a \c NegWriteMap class.
36.343 ///
36.344 /// For example, if \c m is a map with \c double values, then
36.345 /// <tt>negWriteMap(m)[x]</tt> will be equal to <tt>-m[x]</tt>.
36.346 @@ -1296,9 +1296,9 @@
36.347
36.348 };
36.349
36.350 - /// Returns an \ref AbsMap class
36.351 + /// Returns an \c AbsMap class
36.352
36.353 - /// This function just returns an \ref AbsMap class.
36.354 + /// This function just returns an \c AbsMap class.
36.355 ///
36.356 /// For example, if \c m is a map with \c double values, then
36.357 /// <tt>absMap(m)[x]</tt> will be equal to <tt>m[x]</tt> if
36.358 @@ -1345,9 +1345,9 @@
36.359 Value operator[](const Key&) const { return true; }
36.360 };
36.361
36.362 - /// Returns a \ref TrueMap class
36.363 + /// Returns a \c TrueMap class
36.364
36.365 - /// This function just returns a \ref TrueMap class.
36.366 + /// This function just returns a \c TrueMap class.
36.367 /// \relates TrueMap
36.368 template<typename K>
36.369 inline TrueMap<K> trueMap() {
36.370 @@ -1382,9 +1382,9 @@
36.371 Value operator[](const Key&) const { return false; }
36.372 };
36.373
36.374 - /// Returns a \ref FalseMap class
36.375 + /// Returns a \c FalseMap class
36.376
36.377 - /// This function just returns a \ref FalseMap class.
36.378 + /// This function just returns a \c FalseMap class.
36.379 /// \relates FalseMap
36.380 template<typename K>
36.381 inline FalseMap<K> falseMap() {
36.382 @@ -1429,9 +1429,9 @@
36.383 Value operator[](const Key &k) const { return _m1[k]&&_m2[k]; }
36.384 };
36.385
36.386 - /// Returns an \ref AndMap class
36.387 + /// Returns an \c AndMap class
36.388
36.389 - /// This function just returns an \ref AndMap class.
36.390 + /// This function just returns an \c AndMap class.
36.391 ///
36.392 /// For example, if \c m1 and \c m2 are both maps with \c bool values,
36.393 /// then <tt>andMap(m1,m2)[x]</tt> will be equal to
36.394 @@ -1477,9 +1477,9 @@
36.395 Value operator[](const Key &k) const { return _m1[k]||_m2[k]; }
36.396 };
36.397
36.398 - /// Returns an \ref OrMap class
36.399 + /// Returns an \c OrMap class
36.400
36.401 - /// This function just returns an \ref OrMap class.
36.402 + /// This function just returns an \c OrMap class.
36.403 ///
36.404 /// For example, if \c m1 and \c m2 are both maps with \c bool values,
36.405 /// then <tt>orMap(m1,m2)[x]</tt> will be equal to
36.406 @@ -1544,9 +1544,9 @@
36.407 void set(const Key &k, bool v) { _m.set(k, !v); }
36.408 };
36.409
36.410 - /// Returns a \ref NotMap class
36.411 + /// Returns a \c NotMap class
36.412
36.413 - /// This function just returns a \ref NotMap class.
36.414 + /// This function just returns a \c NotMap class.
36.415 ///
36.416 /// For example, if \c m is a map with \c bool values, then
36.417 /// <tt>notMap(m)[x]</tt> will be equal to <tt>!m[x]</tt>.
36.418 @@ -1557,9 +1557,9 @@
36.419 return NotMap<M>(m);
36.420 }
36.421
36.422 - /// Returns a \ref NotWriteMap class
36.423 + /// Returns a \c NotWriteMap class
36.424
36.425 - /// This function just returns a \ref NotWriteMap class.
36.426 + /// This function just returns a \c NotWriteMap class.
36.427 ///
36.428 /// For example, if \c m is a map with \c bool values, then
36.429 /// <tt>notWriteMap(m)[x]</tt> will be equal to <tt>!m[x]</tt>.
36.430 @@ -1605,9 +1605,9 @@
36.431 Value operator[](const Key &k) const { return _m1[k]==_m2[k]; }
36.432 };
36.433
36.434 - /// Returns an \ref EqualMap class
36.435 + /// Returns an \c EqualMap class
36.436
36.437 - /// This function just returns an \ref EqualMap class.
36.438 + /// This function just returns an \c EqualMap class.
36.439 ///
36.440 /// For example, if \c m1 and \c m2 are maps with keys and values of
36.441 /// the same type, then <tt>equalMap(m1,m2)[x]</tt> will be equal to
36.442 @@ -1653,9 +1653,9 @@
36.443 Value operator[](const Key &k) const { return _m1[k]<_m2[k]; }
36.444 };
36.445
36.446 - /// Returns an \ref LessMap class
36.447 + /// Returns an \c LessMap class
36.448
36.449 - /// This function just returns an \ref LessMap class.
36.450 + /// This function just returns an \c LessMap class.
36.451 ///
36.452 /// For example, if \c m1 and \c m2 are maps with keys and values of
36.453 /// the same type, then <tt>lessMap(m1,m2)[x]</tt> will be equal to
36.454 @@ -1683,6 +1683,11 @@
36.455
36.456 }
36.457
36.458 + /// @}
36.459 +
36.460 + /// \addtogroup maps
36.461 + /// @{
36.462 +
36.463 /// \brief Writable bool map for logging each \c true assigned element
36.464 ///
36.465 /// A \ref concepts::WriteMap "writable" bool map for logging
36.466 @@ -1745,9 +1750,9 @@
36.467 Iterator _end;
36.468 };
36.469
36.470 - /// Returns a \ref LoggerBoolMap class
36.471 + /// Returns a \c LoggerBoolMap class
36.472
36.473 - /// This function just returns a \ref LoggerBoolMap class.
36.474 + /// This function just returns a \c LoggerBoolMap class.
36.475 ///
36.476 /// The most important usage of it is storing certain nodes or arcs
36.477 /// that were marked \c true by an algorithm.
36.478 @@ -1767,7 +1772,7 @@
36.479 ///
36.480 /// \note LoggerBoolMap is just \ref concepts::WriteMap "writable", so
36.481 /// it cannot be used when a readable map is needed, for example as
36.482 - /// \c ReachedMap for \ref Bfs, \ref Dfs and \ref Dijkstra algorithms.
36.483 + /// \c ReachedMap for \c Bfs, \c Dfs and \c Dijkstra algorithms.
36.484 ///
36.485 /// \relates LoggerBoolMap
36.486 template<typename Iterator>
36.487 @@ -1775,6 +1780,11 @@
36.488 return LoggerBoolMap<Iterator>(it);
36.489 }
36.490
36.491 + /// @}
36.492 +
36.493 + /// \addtogroup graph_maps
36.494 + /// @{
36.495 +
36.496 /// Provides an immutable and unique id for each item in the graph.
36.497
36.498 /// The IdMap class provides a unique and immutable id for each item of the
36.499 @@ -1861,7 +1871,7 @@
36.500 /// \brief Constructor
36.501 ///
36.502 /// Constructor
36.503 - /// \param _digraph The digraph that the map belongs to.
36.504 + /// \param digraph The digraph that the map belongs to.
36.505 explicit SourceMap(const Digraph& digraph) : _digraph(digraph) {}
36.506
36.507 /// \brief The subscript operator.
36.508 @@ -1877,9 +1887,9 @@
36.509 const Digraph& _digraph;
36.510 };
36.511
36.512 - /// \brief Returns a \ref SourceMap class.
36.513 + /// \brief Returns a \c SourceMap class.
36.514 ///
36.515 - /// This function just returns an \ref SourceMap class.
36.516 + /// This function just returns an \c SourceMap class.
36.517 /// \relates SourceMap
36.518 template <typename Digraph>
36.519 inline SourceMap<Digraph> sourceMap(const Digraph& digraph) {
36.520 @@ -1900,7 +1910,7 @@
36.521 /// \brief Constructor
36.522 ///
36.523 /// Constructor
36.524 - /// \param _digraph The digraph that the map belongs to.
36.525 + /// \param digraph The digraph that the map belongs to.
36.526 explicit TargetMap(const Digraph& digraph) : _digraph(digraph) {}
36.527
36.528 /// \brief The subscript operator.
36.529 @@ -1916,9 +1926,9 @@
36.530 const Digraph& _digraph;
36.531 };
36.532
36.533 - /// \brief Returns a \ref TargetMap class.
36.534 + /// \brief Returns a \c TargetMap class.
36.535 ///
36.536 - /// This function just returns a \ref TargetMap class.
36.537 + /// This function just returns a \c TargetMap class.
36.538 /// \relates TargetMap
36.539 template <typename Digraph>
36.540 inline TargetMap<Digraph> targetMap(const Digraph& digraph) {
36.541 @@ -1939,7 +1949,7 @@
36.542 /// \brief Constructor
36.543 ///
36.544 /// Constructor
36.545 - /// \param _graph The graph that the map belongs to.
36.546 + /// \param graph The graph that the map belongs to.
36.547 explicit ForwardMap(const Graph& graph) : _graph(graph) {}
36.548
36.549 /// \brief The subscript operator.
36.550 @@ -1955,9 +1965,9 @@
36.551 const Graph& _graph;
36.552 };
36.553
36.554 - /// \brief Returns a \ref ForwardMap class.
36.555 + /// \brief Returns a \c ForwardMap class.
36.556 ///
36.557 - /// This function just returns an \ref ForwardMap class.
36.558 + /// This function just returns an \c ForwardMap class.
36.559 /// \relates ForwardMap
36.560 template <typename Graph>
36.561 inline ForwardMap<Graph> forwardMap(const Graph& graph) {
36.562 @@ -1978,7 +1988,7 @@
36.563 /// \brief Constructor
36.564 ///
36.565 /// Constructor
36.566 - /// \param _graph The graph that the map belongs to.
36.567 + /// \param graph The graph that the map belongs to.
36.568 explicit BackwardMap(const Graph& graph) : _graph(graph) {}
36.569
36.570 /// \brief The subscript operator.
36.571 @@ -1994,9 +2004,9 @@
36.572 const Graph& _graph;
36.573 };
36.574
36.575 - /// \brief Returns a \ref BackwardMap class
36.576 + /// \brief Returns a \c BackwardMap class
36.577
36.578 - /// This function just returns a \ref BackwardMap class.
36.579 + /// This function just returns a \c BackwardMap class.
36.580 /// \relates BackwardMap
36.581 template <typename Graph>
36.582 inline BackwardMap<Graph> backwardMap(const Graph& graph) {
37.1 --- a/lemon/path.h Thu Oct 09 13:52:01 2008 +0100
37.2 +++ b/lemon/path.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
38.2 +++ b/lemon/smart_graph.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
39.2 +++ b/lemon/time_measure.h Thu Oct 09 14:37:44 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 13:52:01 2008 +0100
40.2 +++ b/tools/Makefile.am Thu Oct 09 14:37:44 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 14:37:44 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