Index: Makefile.am
===================================================================
--- Makefile.am (revision 227)
+++ Makefile.am (revision 310)
@@ -25,4 +25,5 @@
bin_PROGRAMS =
check_PROGRAMS =
+dist_bin_SCRIPTS =
TESTS =
XFAIL_TESTS =
@@ -32,5 +33,4 @@
include doc/Makefile.am
include demo/Makefile.am
-include benchmark/Makefile.am
include tools/Makefile.am
Index: README
===================================================================
--- README (revision 246)
+++ README (revision 310)
@@ -38,8 +38,4 @@
Contains programs to check the integrity and correctness of LEMON.
-benchmark/
-
- Contains programs for measuring the performance of algorithms.
-
tools/
Index: nchmark/Makefile.am
===================================================================
--- benchmark/Makefile.am (revision 146)
+++ (revision )
@@ -1,7 +1,0 @@
-if WANT_BENCHMARK
-
-noinst_HEADERS +=
-
-noinst_PROGRAMS +=
-
-endif WANT_BENCHMARK
Index: configure.ac
===================================================================
--- configure.ac (revision 296)
+++ configure.ac (revision 310)
@@ -82,17 +82,4 @@
AM_CONDITIONAL([WANT_TOOLS], [test x"$enable_tools" != x"no"])
-dnl Disable/enable building the benchmarks.
-AC_ARG_ENABLE([benchmark],
-AS_HELP_STRING([--enable-benchmark], [build the benchmarks])
-AS_HELP_STRING([--disable-benchmark], [do not build the benchmarks @<:@default@:>@]),
- [], [enable_benchmark=no])
-AC_MSG_CHECKING([whether to build the benchmarks])
-if test x"$enable_benchmark" != x"no"; then
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-AM_CONDITIONAL([WANT_BENCHMARK], [test x"$enable_benchmark" != x"no"])
-
dnl Checks for header files.
AC_CHECK_HEADERS(limits.h sys/time.h sys/times.h unistd.h)
@@ -133,5 +120,4 @@
#echo SOPLEX support................ : $lx_soplex_found
#echo
-echo Build benchmarks.............. : $enable_benchmark
echo Build demo programs........... : $enable_demo
echo Build additional tools........ : $enable_tools
Index: demo/arg_parser_demo.cc
===================================================================
--- demo/arg_parser_demo.cc (revision 209)
+++ demo/arg_parser_demo.cc (revision 311)
@@ -28,5 +28,5 @@
using namespace lemon;
-int main(int argc, const char **argv)
+int main(int argc, char **argv)
{
// Initialize the argument parser
Index: demo/graph_to_eps_demo.cc
===================================================================
--- demo/graph_to_eps_demo.cc (revision 220)
+++ demo/graph_to_eps_demo.cc (revision 313)
@@ -27,5 +27,5 @@
/// how to handle parallel egdes, how to change the properties (like
/// color, shape, size, title etc.) of nodes and arcs individually
-/// using appropriate \ref maps-page "graph maps".
+/// using appropriate graph maps.
///
/// \include graph_to_eps_demo.cc
Index: doc/Makefile.am
===================================================================
--- doc/Makefile.am (revision 316)
+++ doc/Makefile.am (revision 317)
@@ -8,4 +8,5 @@
doc/license.dox \
doc/mainpage.dox \
+ doc/migration.dox \
doc/named-param.dox \
doc/namespaces.dox \
Index: doc/groups.dox
===================================================================
--- doc/groups.dox (revision 236)
+++ doc/groups.dox (revision 314)
@@ -55,5 +55,7 @@
You are free to use the graph structure that fit your requirements
the best, most graph algorithms and auxiliary data structures can be used
-with any graph structures.
+with any graph structure.
+
+See also: \ref graph_concepts "Graph Structure Concepts".
*/
@@ -75,6 +77,8 @@
This group describes the map structures implemented in LEMON.
-LEMON provides several special purpose maps that e.g. combine
+LEMON provides several special purpose maps and map adaptors that e.g. combine
new maps from existing ones.
+
+See also: \ref map_concepts "Map Concepts".
*/
@@ -87,5 +91,4 @@
values to the nodes and arcs of graphs.
*/
-
/**
@@ -105,5 +108,5 @@
algorithms. If a function type algorithm is called then the function
type map adaptors can be used comfortable. For example let's see the
-usage of map adaptors with the \c digraphToEps() function.
+usage of map adaptors with the \c graphToEps() function.
\code
Color nodeColor(int deg) {
@@ -119,5 +122,5 @@
Digraph::NodeMap degree_map(graph);
- digraphToEps(graph, "graph.eps")
+ graphToEps(graph, "graph.eps")
.coords(coords).scaleToA4().undirected()
.nodeColors(composeMap(functorToMap(nodeColor), degree_map))
@@ -125,5 +128,5 @@
\endcode
The \c functorToMap() function makes an \c int to \c Color map from the
-\e nodeColor() function. The \c composeMap() compose the \e degree_map
+\c nodeColor() function. The \c composeMap() compose the \c degree_map
and the previously created map. The composed map is a proper function to
get the color of each node.
@@ -174,5 +177,4 @@
\sa lemon::concepts::Path
-
*/
@@ -186,5 +188,4 @@
*/
-
/**
@defgroup algs Algorithms
@@ -202,9 +203,9 @@
This group describes the common graph search algorithms like
-Breadth-first search (Bfs) and Depth-first search (Dfs).
-*/
-
-/**
-@defgroup shortest_path Shortest Path algorithms
+Breadth-First Search (BFS) and Depth-First Search (DFS).
+*/
+
+/**
+@defgroup shortest_path Shortest Path Algorithms
@ingroup algs
\brief Algorithms for finding shortest paths.
@@ -214,5 +215,5 @@
/**
-@defgroup max_flow Maximum Flow algorithms
+@defgroup max_flow Maximum Flow Algorithms
@ingroup algs
\brief Algorithms for finding maximum flows.
@@ -242,9 +243,8 @@
provides functions to query the minimum cut, which is the dual linear
programming problem of the maximum flow.
-
-*/
-
-/**
-@defgroup min_cost_flow Minimum Cost Flow algorithms
+*/
+
+/**
+@defgroup min_cost_flow Minimum Cost Flow Algorithms
@ingroup algs
@@ -256,5 +256,5 @@
/**
-@defgroup min_cut Minimum Cut algorithms
+@defgroup min_cut Minimum Cut Algorithms
@ingroup algs
@@ -283,9 +283,8 @@
If you want to find minimum cut just between two distinict nodes,
please see the \ref max_flow "Maximum Flow page".
-
-*/
-
-/**
-@defgroup graph_prop Connectivity and other graph properties
+*/
+
+/**
+@defgroup graph_prop Connectivity and Other Graph Properties
@ingroup algs
\brief Algorithms for discovering the graph properties
@@ -299,5 +298,5 @@
/**
-@defgroup planar Planarity embedding and drawing
+@defgroup planar Planarity Embedding and Drawing
@ingroup algs
\brief Algorithms for planarity checking, embedding and drawing
@@ -311,5 +310,5 @@
/**
-@defgroup matching Matching algorithms
+@defgroup matching Matching Algorithms
@ingroup algs
\brief Algorithms for finding matchings in graphs and bipartite graphs.
@@ -349,9 +348,8 @@
\image html bipartite_matching.png
\image latex bipartite_matching.eps "Bipartite Matching" width=\textwidth
-
-*/
-
-/**
-@defgroup spantree Minimum Spanning Tree algorithms
+*/
+
+/**
+@defgroup spantree Minimum Spanning Tree Algorithms
@ingroup algs
\brief Algorithms for finding a minimum cost spanning tree in a graph.
@@ -361,7 +359,6 @@
*/
-
-/**
-@defgroup auxalg Auxiliary algorithms
+/**
+@defgroup auxalg Auxiliary Algorithms
@ingroup algs
\brief Auxiliary algorithms implemented in LEMON.
@@ -372,5 +369,6 @@
/**
-@defgroup approx Approximation algorithms
+@defgroup approx Approximation Algorithms
+@ingroup algs
\brief Approximation algorithms.
@@ -386,9 +384,8 @@
This group describes some general optimization frameworks
implemented in LEMON.
-
-*/
-
-/**
-@defgroup lp_group Lp and Mip solvers
+*/
+
+/**
+@defgroup lp_group Lp and Mip Solvers
@ingroup gen_opt_group
\brief Lp and Mip solver interfaces for LEMON.
@@ -397,9 +394,8 @@
various LP solvers could be used in the same manner with this
interface.
-
-*/
-
-/**
-@defgroup lp_utils Tools for Lp and Mip solvers
+*/
+
+/**
+@defgroup lp_utils Tools for Lp and Mip Solvers
@ingroup lp_group
\brief Helper tools to the Lp and Mip solvers.
@@ -442,5 +438,5 @@
/**
-@defgroup timecount Time measuring and Counting
+@defgroup timecount Time Measuring and Counting
@ingroup misc
\brief Simple tools for measuring the performance of algorithms.
@@ -448,13 +444,4 @@
This group describes simple tools for measuring the performance
of algorithms.
-*/
-
-/**
-@defgroup graphbits Tools for Graph Implementation
-@ingroup utils
-\brief Tools to make it easier to create graphs.
-
-This group describes the tools that makes it easier to create graphs and
-the maps that dynamically update with the graph changes.
*/
@@ -472,6 +459,7 @@
This group describes the tools for importing and exporting graphs
-and graph related data. Now it supports the LEMON format, the
-\c DIMACS format and the encapsulated postscript (EPS) format.
+and graph related data. Now it supports the \ref lgf-format
+"LEMON Graph Format", the \c DIMACS format and the encapsulated
+postscript (EPS) format.
*/
@@ -479,5 +467,5 @@
@defgroup lemon_io LEMON Input-Output
@ingroup io_group
-\brief Reading and writing \ref lgf-format "LEMON Graph Format".
+\brief Reading and writing LEMON Graph Format.
This group describes methods for reading and writing
@@ -486,5 +474,5 @@
/**
-@defgroup eps_io Postscript exporting
+@defgroup eps_io Postscript Exporting
@ingroup io_group
\brief General \c EPS drawer and graph exporter
@@ -493,5 +481,4 @@
graph exporting tools.
*/
-
/**
@@ -522,7 +509,5 @@
- Finally, They can serve as a skeleton of a new implementation of a concept.
-
-*/
-
+*/
/**
@@ -535,8 +520,10 @@
*/
-/* --- Unused group
-@defgroup experimental Experimental Structures and Algorithms
-This group describes some Experimental structures and algorithms.
-The stuff here is subject to change.
+/**
+@defgroup map_concepts Map Concepts
+@ingroup concept
+\brief Skeleton and concept checking classes for maps
+
+This group describes the skeletons and concept checking classes of maps.
*/
Index: doc/lgf.dox
===================================================================
--- doc/lgf.dox (revision 236)
+++ doc/lgf.dox (revision 313)
@@ -79,5 +79,5 @@
\endcode
-The \c \@edges is just a synonym of \c \@arcs. The @arcs section can
+The \c \@edges is just a synonym of \c \@arcs. The \@arcs section can
also store the edge set of an undirected graph. In such case there is
a conventional method for store arc maps in the file, if two columns
Index: doc/mainpage.dox
===================================================================
--- doc/mainpage.dox (revision 209)
+++ doc/mainpage.dox (revision 314)
@@ -51,5 +51,5 @@
If you
want to see how LEMON works, see
-some \ref demoprograms "demo programs"!
+some \ref demoprograms "demo programs".
If you know what you are looking for then try to find it under the
@@ -57,4 +57,5 @@
section.
-
+If you are a user of the old (0.x) series of LEMON, please check out the
+\ref migration "Migration Guide" for the backward incompatibilities.
*/
Index: doc/migration.dox
===================================================================
--- doc/migration.dox (revision 314)
+++ doc/migration.dox (revision 314)
@@ -0,0 +1,143 @@
+/* -*- mode: C++; indent-tabs-mode: nil; -*-
+ *
+ * This file is a part of LEMON, a generic C++ optimization library.
+ *
+ * Copyright (C) 2003-2008
+ * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
+ * (Egervary Research Group on Combinatorial Optimization, EGRES).
+ *
+ * Permission to use, modify and distribute this software is granted
+ * provided that this copyright notice appears in all copies. For
+ * precise terms see the accompanying LICENSE file.
+ *
+ * This software is provided "AS IS" with no warranty of any kind,
+ * express or implied, and with no claim as to its suitability for any
+ * purpose.
+ *
+ */
+
+namespace lemon {
+/*!
+
+\page migration Migration from the 0.x Series
+
+This guide gives an in depth description on what has changed compared
+to the 0.x release series.
+
+Many of these changes adjusted automatically by the
+script/lemon-0.x-to-1.x.sh tool. Those requiring manual
+update are typeset boldface.
+
+\section migration-graph Graph Related Name Changes
+
+- \ref concepts::Digraph "Directed graphs" are called \c Digraph and
+ they have Arcs (instead of Edges), while
+ \ref concepts::Graph "undirected graphs" are called \c Graph
+ (instead of \c UGraph) and they have Edges (instead of
+ UEdges). These changes reflected thoroughly everywhere in
+ the library. Namely,
+ - \c Graph -> \c Digraph
+ - \c %ListGraph -> \c ListDigraph, \c %SmartGraph -> \c SmartDigraph etc.
+ - \c UGraph -> \c Graph
+ - \c ListUGraph -> \c ListGraph, \c SmartUGraph -> \c SmartGraph etc.
+ - \c Edge -> \c Arc, \c UEdge -> \c Edge
+ - \c EdgeMap -> \c ArcMap, \c UEdgeMap -> \c EdgeMap
+ - \c EdgeIt -> \c ArcIt, \c UEdgeIt -> \c EdgeIt
+ - Class names and function names containing the words \c graph,
+ \c ugraph, \e edge or \e arc should also be updated.
+- The two endpoints of an (\e undirected) \c Edge can be obtained by the
+ u() and v() member function of the graph
+ (instead of source() and target()). This change
+ must be done by hand.
+ \n Of course, you can still use source() and target()
+ for Arcs (directed edges).
+
+\warning
+The script/lemon-0.x-to-1.x.sh tool replaces all instances of
+the words \c graph, \c digraph, \c edge and \c arc, so it replaces them
+in strings, comments etc. as well as in all identifiers.
+
+\section migration-lgf LGF tools
+ - The \ref lgf-format "LGF file format" has changed,
+ \@nodeset has changed to \@nodes,
+ \@edgeset and \@uedgeset to \@arcs or
+ \@edges, which become completely equivalents. The
+ \@nodes, \@edges and \@uedges sections are
+ removed from the format, the content of them should be
+ the part of \@attributes section. The data fields in
+ the sections must follow a strict format, they must be either character
+ sequences without whitespaces or quoted strings.
+ - The LemonReader and LemonWriter core interfaces
+ are no longer available.
+ - The implementation of the general section readers and writers has changed
+ they are simple functors now. Beside the old
+ stream based section handling, currently line oriented section
+ reading and writing are also supported. In the
+ section readers the lines must be counted manually. The sections
+ should be read and written with the SectionWriter and SectionReader
+ classes.
+ - Instead of the item readers and writers, item converters should be
+ used. The converters are functors, which map the type to
+ std::string or std::string to the type. The converters for standard
+ containers hasn't yet been implemented in the new LEMON. The converters
+ can return strings in any format, because if it is necessary, the LGF
+ writer and reader will quote and unquote the given value.
+ - The DigraphReader and DigraphWriter can used similarly to the
+ 0.x series, however the read or write prefix of
+ the member functions are removed.
+ - The new LEMON supports the function like interface, the \c
+ digraphReader and \c digraphWriter functions are more convenient than
+ using the classes directly.
+
+\section migration-search BFS, DFS and Dijkstra
+- Using the function interface of BFS, DFS and %Dijkstra both source and
+ target nodes can be given as parameters of the run() function
+ (instead of \c bfs(), \c dfs() or \c dijkstra() itself).
+- \ref named-templ-param "Named class template parameters" of \c Bfs,
+ \c Dfs, \c Dijkstra, \c BfsVisit, \c DfsVisit are renamed to start
+ with "Set" instead of "Def". Namely,
+ - \c DefPredMap -> \c SetPredMap
+ - \c DefDistMap -> \c SetDistMap
+ - \c DefReachedMap -> \c SetReachedMap
+ - \c DefProcessedMap -> \c SetProcessedMap
+ - \c DefHeap -> \c SetHeap
+ - \c DefStandardHeap -> \c SetStandardHeap
+ - \c DefOperationTraits -> \c SetOperationTraits
+ - \c DefProcessedMapToBeDefaultMap -> \c SetStandardProcessedMap
+
+\section migration-error Exceptions and Debug tools
+
+The class hierarchy of exceptions has largely been simplified. Now,
+only the i/o related tools may throw exceptions. All other exceptions
+have been replaced with either the \c LEMON_ASSERT or the \c LEMON_DEBUG
+macros.
+
+On the other hand, the parameter order of constructors of the
+exceptions has been changed. See \ref IoError and \ref FormatError for
+more details.
+
+\section migration-other Others
+- The contents of graph_utils.h are moved to core.h
+ and maps.h. core.h is included by all graph types,
+ therefore it usually do not have to be included directly.
+- path_utils.h is merged to \c path.h.
+- The semantic of the assignment operations and copy constructors of maps
+ are still under discussion. So, you must copy them by hand (i.e. copy
+ each entry one-by-one)
+- The parameters of the graph copying tools (i.e. \c GraphCopy,
+ \c DigraphCopy) have to be given in the from-to order.
+- \c copyDigraph() and \c copyGraph() are renamed to \c digraphCopy()
+ and \c graphCopy(), respectively.
+- The interface of \ref DynArcLookUp has changed. It is now the same as
+ of \ref ArcLookUp and \ref AllArcLookUp
+- Some map types should also been renamed. Namely,
+ - \c IntegerMap -> \c RangeMap
+ - \c StdMap -> \c SparseMap
+ - \c FunctorMap -> \c FunctorToMap
+ - \c MapFunctor -> \c MapToFunctor
+ - \c ForkWriteMap -> \c ForkMap
+ - \c StoreBoolMap -> \c LoggerBoolMap
+- \c dim2::BoundingBox -> \c dim2::Box
+
+*/
+}
Index: lemon/arg_parser.cc
===================================================================
--- lemon/arg_parser.cc (revision 214)
+++ lemon/arg_parser.cc (revision 311)
@@ -27,10 +27,9 @@
}
- ArgParser::ArgParser(int argc, const char **argv) :_argc(argc), _argv(argv),
- _command_name(argv[0]) {
+ ArgParser::ArgParser(int argc, const char * const *argv)
+ :_argc(argc), _argv(argv), _command_name(argv[0]) {
funcOption("-help","Print a short help message",_showHelp,this);
synonym("help","-help");
synonym("h","-help");
-
}
Index: lemon/arg_parser.h
===================================================================
--- lemon/arg_parser.h (revision 290)
+++ lemon/arg_parser.h (revision 311)
@@ -47,5 +47,5 @@
int _argc;
- const char **_argv;
+ const char * const *_argv;
enum OptType { UNKNOWN=0, BOOL=1, STRING=2, DOUBLE=3, INTEGER=4, FUNC=5 };
@@ -120,5 +120,5 @@
///Constructor
- ArgParser(int argc, const char **argv);
+ ArgParser(int argc, const char * const *argv);
~ArgParser();
Index: lemon/bfs.h
===================================================================
--- lemon/bfs.h (revision 292)
+++ lemon/bfs.h (revision 301)
@@ -50,9 +50,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap PredMap;
- ///Instantiates a \ref PredMap.
-
- ///This function instantiates a \ref PredMap.
+ ///Instantiates a PredMap.
+
+ ///This function instantiates a PredMap.
///\param g is the digraph, to which we would like to define the
- ///\ref PredMap.
+ ///PredMap.
static PredMap *createPredMap(const Digraph &g)
{
@@ -65,9 +65,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef NullMap ProcessedMap;
- ///Instantiates a \ref ProcessedMap.
-
- ///This function instantiates a \ref ProcessedMap.
+ ///Instantiates a ProcessedMap.
+
+ ///This function instantiates a ProcessedMap.
///\param g is the digraph, to which
- ///we would like to define the \ref ProcessedMap
+ ///we would like to define the ProcessedMap
#ifdef DOXYGEN
static ProcessedMap *createProcessedMap(const Digraph &g)
@@ -84,9 +84,9 @@
///It must meet the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
typedef typename Digraph::template NodeMap ReachedMap;
- ///Instantiates a \ref ReachedMap.
-
- ///This function instantiates a \ref ReachedMap.
+ ///Instantiates a ReachedMap.
+
+ ///This function instantiates a ReachedMap.
///\param g is the digraph, to which
- ///we would like to define the \ref ReachedMap.
+ ///we would like to define the ReachedMap.
static ReachedMap *createReachedMap(const Digraph &g)
{
@@ -99,9 +99,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap DistMap;
- ///Instantiates a \ref DistMap.
-
- ///This function instantiates a \ref DistMap.
+ ///Instantiates a DistMap.
+
+ ///This function instantiates a DistMap.
///\param g is the digraph, to which we would like to define the
- ///\ref DistMap.
+ ///DistMap.
static DistMap *createDistMap(const Digraph &g)
{
@@ -228,8 +228,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref PredMap type.
+ ///PredMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref PredMap type.
+ ///PredMap type.
template
struct SetPredMap : public Bfs< Digraph, SetPredMapTraits > {
@@ -247,8 +247,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref DistMap type.
+ ///DistMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref DistMap type.
+ ///DistMap type.
template
struct SetDistMap : public Bfs< Digraph, SetDistMapTraits > {
@@ -266,8 +266,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref ReachedMap type.
+ ///ReachedMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref ReachedMap type.
+ ///ReachedMap type.
template
struct SetReachedMap : public Bfs< Digraph, SetReachedMapTraits > {
@@ -285,8 +285,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref ProcessedMap type.
+ ///ProcessedMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref ProcessedMap type.
+ ///ProcessedMap type.
template
struct SetProcessedMap : public Bfs< Digraph, SetProcessedMapTraits > {
@@ -303,8 +303,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref ProcessedMap type to be Digraph::NodeMap.
+ ///ProcessedMap type to be Digraph::NodeMap.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref ProcessedMap type to be Digraph::NodeMap.
+ ///ProcessedMap type to be Digraph::NodeMap.
///If you don't set it explicitly, it will be automatically allocated.
struct SetStandardProcessedMap :
@@ -836,9 +836,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap PredMap;
- ///Instantiates a \ref PredMap.
-
- ///This function instantiates a \ref PredMap.
+ ///Instantiates a PredMap.
+
+ ///This function instantiates a PredMap.
///\param g is the digraph, to which we would like to define the
- ///\ref PredMap.
+ ///PredMap.
static PredMap *createPredMap(const Digraph &g)
{
@@ -852,9 +852,9 @@
///By default it is a NullMap.
typedef NullMap ProcessedMap;
- ///Instantiates a \ref ProcessedMap.
-
- ///This function instantiates a \ref ProcessedMap.
+ ///Instantiates a ProcessedMap.
+
+ ///This function instantiates a ProcessedMap.
///\param g is the digraph, to which
- ///we would like to define the \ref ProcessedMap.
+ ///we would like to define the ProcessedMap.
#ifdef DOXYGEN
static ProcessedMap *createProcessedMap(const Digraph &g)
@@ -871,9 +871,9 @@
///It must meet the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
typedef typename Digraph::template NodeMap ReachedMap;
- ///Instantiates a \ref ReachedMap.
-
- ///This function instantiates a \ref ReachedMap.
+ ///Instantiates a ReachedMap.
+
+ ///This function instantiates a ReachedMap.
///\param g is the digraph, to which
- ///we would like to define the \ref ReachedMap.
+ ///we would like to define the ReachedMap.
static ReachedMap *createReachedMap(const Digraph &g)
{
@@ -886,9 +886,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap DistMap;
- ///Instantiates a \ref DistMap.
-
- ///This function instantiates a \ref DistMap.
+ ///Instantiates a DistMap.
+
+ ///This function instantiates a DistMap.
///\param g is the digraph, to which we would like to define
- ///the \ref DistMap
+ ///the DistMap
static DistMap *createDistMap(const Digraph &g)
{
@@ -903,5 +903,5 @@
};
- /// Default traits class used by \ref BfsWizard
+ /// Default traits class used by BfsWizard
/// To make it easier to use Bfs algorithm
@@ -1069,8 +1069,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting \ref PredMap object.
+ ///for setting PredMap object.
///
///\ref named-func-param "Named parameter"
- ///for setting \ref PredMap object.
+ ///for setting PredMap object.
template
BfsWizard > predMap(const T &t)
@@ -1087,8 +1087,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting \ref ReachedMap object.
+ ///for setting ReachedMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting \ref ReachedMap object.
+ ///for setting ReachedMap object.
template
BfsWizard > reachedMap(const T &t)
@@ -1105,8 +1105,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting \ref DistMap object.
+ ///for setting DistMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting \ref DistMap object.
+ ///for setting DistMap object.
template
BfsWizard > distMap(const T &t)
@@ -1123,8 +1123,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting \ref ProcessedMap object.
+ ///for setting ProcessedMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting \ref ProcessedMap object.
+ ///for setting ProcessedMap object.
template
BfsWizard > processedMap(const T &t)
@@ -1268,9 +1268,9 @@
typedef typename Digraph::template NodeMap ReachedMap;
- /// \brief Instantiates a \ref ReachedMap.
- ///
- /// This function instantiates a \ref ReachedMap.
+ /// \brief Instantiates a ReachedMap.
+ ///
+ /// This function instantiates a ReachedMap.
/// \param digraph is the digraph, to which
- /// we would like to define the \ref ReachedMap.
+ /// we would like to define the ReachedMap.
static ReachedMap *createReachedMap(const Digraph &digraph) {
return new ReachedMap(digraph);
Index: lemon/bits/alteration_notifier.h
===================================================================
--- lemon/bits/alteration_notifier.h (revision 236)
+++ lemon/bits/alteration_notifier.h (revision 314)
@@ -25,74 +25,73 @@
#include
-///\ingroup graphbits
-///\file
-///\brief Observer notifier for graph alteration observers.
+//\ingroup graphbits
+//\file
+//\brief Observer notifier for graph alteration observers.
namespace lemon {
- /// \ingroup graphbits
- ///
- /// \brief Notifier class to notify observes about alterations in
- /// a container.
- ///
- /// The simple graph's can be refered as two containers, one node container
- /// and one edge container. But they are not standard containers they
- /// does not store values directly they are just key continars for more
- /// value containers which are the node and edge maps.
- ///
- /// The graph's node and edge sets can be changed as we add or erase
- /// nodes and edges in the graph. LEMON would like to handle easily
- /// that the node and edge maps should contain values for all nodes or
- /// edges. If we want to check on every indicing if the map contains
- /// the current indicing key that cause a drawback in the performance
- /// in the library. We use another solution we notify all maps about
- /// an alteration in the graph, which cause only drawback on the
- /// alteration of the graph.
- ///
- /// This class provides an interface to the container. The \e first() and \e
- /// next() member functions make possible to iterate on the keys of the
- /// container. The \e id() function returns an integer id for each key.
- /// The \e maxId() function gives back an upper bound of the ids.
- ///
- /// For the proper functonality of this class, we should notify it
- /// about each alteration in the container. The alterations have four type
- /// as \e add(), \e erase(), \e build() and \e clear(). The \e add() and
- /// \e erase() signals that only one or few items added or erased to or
- /// from the graph. If all items are erased from the graph or from an empty
- /// graph a new graph is builded then it can be signaled with the
- /// clear() and build() members. Important rule that if we erase items
- /// from graph we should first signal the alteration and after that erase
- /// them from the container, on the other way on item addition we should
- /// first extend the container and just after that signal the alteration.
- ///
- /// The alteration can be observed with a class inherited from the
- /// \e ObserverBase nested class. The signals can be handled with
- /// overriding the virtual functions defined in the base class. The
- /// observer base can be attached to the notifier with the
- /// \e attach() member and can be detached with detach() function. The
- /// alteration handlers should not call any function which signals
- /// an other alteration in the same notifier and should not
- /// detach any observer from the notifier.
- ///
- /// Alteration observers try to be exception safe. If an \e add() or
- /// a \e clear() function throws an exception then the remaining
- /// observeres will not be notified and the fulfilled additions will
- /// be rolled back by calling the \e erase() or \e clear()
- /// functions. Thence the \e erase() and \e clear() should not throw
- /// exception. Actullay, it can be throw only
- /// \ref AlterationObserver::ImmediateDetach ImmediateDetach
- /// exception which detach the observer from the notifier.
- ///
- /// There are some place when the alteration observing is not completly
- /// reliable. If we want to carry out the node degree in the graph
- /// as in the \ref InDegMap and we use the reverseEdge that cause
- /// unreliable functionality. Because the alteration observing signals
- /// only erasing and adding but not the reversing it will stores bad
- /// degrees. The sub graph adaptors cannot signal the alterations because
- /// just a setting in the filter map can modify the graph and this cannot
- /// be watched in any way.
- ///
- /// \param _Container The container which is observed.
- /// \param _Item The item type which is obserbved.
+ // \ingroup graphbits
+ //
+ // \brief Notifier class to notify observes about alterations in
+ // a container.
+ //
+ // The simple graph's can be refered as two containers, one node container
+ // and one edge container. But they are not standard containers they
+ // does not store values directly they are just key continars for more
+ // value containers which are the node and edge maps.
+ //
+ // The graph's node and edge sets can be changed as we add or erase
+ // nodes and edges in the graph. LEMON would like to handle easily
+ // that the node and edge maps should contain values for all nodes or
+ // edges. If we want to check on every indicing if the map contains
+ // the current indicing key that cause a drawback in the performance
+ // in the library. We use another solution we notify all maps about
+ // an alteration in the graph, which cause only drawback on the
+ // alteration of the graph.
+ //
+ // This class provides an interface to the container. The \e first() and \e
+ // next() member functions make possible to iterate on the keys of the
+ // container. The \e id() function returns an integer id for each key.
+ // The \e maxId() function gives back an upper bound of the ids.
+ //
+ // For the proper functonality of this class, we should notify it
+ // about each alteration in the container. The alterations have four type
+ // as \e add(), \e erase(), \e build() and \e clear(). The \e add() and
+ // \e erase() signals that only one or few items added or erased to or
+ // from the graph. If all items are erased from the graph or from an empty
+ // graph a new graph is builded then it can be signaled with the
+ // clear() and build() members. Important rule that if we erase items
+ // from graph we should first signal the alteration and after that erase
+ // them from the container, on the other way on item addition we should
+ // first extend the container and just after that signal the alteration.
+ //
+ // The alteration can be observed with a class inherited from the
+ // \e ObserverBase nested class. The signals can be handled with
+ // overriding the virtual functions defined in the base class. The
+ // observer base can be attached to the notifier with the
+ // \e attach() member and can be detached with detach() function. The
+ // alteration handlers should not call any function which signals
+ // an other alteration in the same notifier and should not
+ // detach any observer from the notifier.
+ //
+ // Alteration observers try to be exception safe. If an \e add() or
+ // a \e clear() function throws an exception then the remaining
+ // observeres will not be notified and the fulfilled additions will
+ // be rolled back by calling the \e erase() or \e clear()
+ // functions. Thence the \e erase() and \e clear() should not throw
+ // exception. Actullay, it can be throw only \ref ImmediateDetach
+ // exception which detach the observer from the notifier.
+ //
+ // There are some place when the alteration observing is not completly
+ // reliable. If we want to carry out the node degree in the graph
+ // as in the \ref InDegMap and we use the reverseEdge that cause
+ // unreliable functionality. Because the alteration observing signals
+ // only erasing and adding but not the reversing it will stores bad
+ // degrees. The sub graph adaptors cannot signal the alterations because
+ // just a setting in the filter map can modify the graph and this cannot
+ // be watched in any way.
+ //
+ // \param _Container The container which is observed.
+ // \param _Item The item type which is obserbved.
template
@@ -105,29 +104,28 @@
typedef _Item Item;
- /// \brief Exception which can be called from \e clear() and
- /// \e erase().
- ///
- /// From the \e clear() and \e erase() function only this
- /// exception is allowed to throw. The exception immediatly
- /// detaches the current observer from the notifier. Because the
- /// \e clear() and \e erase() should not throw other exceptions
- /// it can be used to invalidate the observer.
+ // \brief Exception which can be called from \e clear() and
+ // \e erase().
+ //
+ // From the \e clear() and \e erase() function only this
+ // exception is allowed to throw. The exception immediatly
+ // detaches the current observer from the notifier. Because the
+ // \e clear() and \e erase() should not throw other exceptions
+ // it can be used to invalidate the observer.
struct ImmediateDetach {};
- /// \brief ObserverBase is the base class for the observers.
- ///
- /// ObserverBase is the abstract base class for the observers.
- /// It will be notified about an item was inserted into or
- /// erased from the graph.
- ///
- /// The observer interface contains some pure virtual functions
- /// to override. The add() and erase() functions are
- /// to notify the oberver when one item is added or
- /// erased.
- ///
- /// The build() and clear() members are to notify the observer
- /// about the container is built from an empty container or
- /// is cleared to an empty container.
-
+ // \brief ObserverBase is the base class for the observers.
+ //
+ // ObserverBase is the abstract base class for the observers.
+ // It will be notified about an item was inserted into or
+ // erased from the graph.
+ //
+ // The observer interface contains some pure virtual functions
+ // to override. The add() and erase() functions are
+ // to notify the oberver when one item is added or
+ // erased.
+ //
+ // The build() and clear() members are to notify the observer
+ // about the container is built from an empty container or
+ // is cleared to an empty container.
class ObserverBase {
protected:
@@ -136,21 +134,20 @@
friend class AlterationNotifier;
- /// \brief Default constructor.
- ///
- /// Default constructor for ObserverBase.
- ///
+ // \brief Default constructor.
+ //
+ // Default constructor for ObserverBase.
ObserverBase() : _notifier(0) {}
- /// \brief Constructor which attach the observer into notifier.
- ///
- /// Constructor which attach the observer into notifier.
+ // \brief Constructor which attach the observer into notifier.
+ //
+ // Constructor which attach the observer into notifier.
ObserverBase(AlterationNotifier& nf) {
attach(nf);
}
- /// \brief Constructor which attach the obserever to the same notifier.
- ///
- /// Constructor which attach the obserever to the same notifier as
- /// the other observer is attached to.
+ // \brief Constructor which attach the obserever to the same notifier.
+ //
+ // Constructor which attach the obserever to the same notifier as
+ // the other observer is attached to.
ObserverBase(const ObserverBase& copy) {
if (copy.attached()) {
@@ -159,5 +156,5 @@
}
- /// \brief Destructor
+ // \brief Destructor
virtual ~ObserverBase() {
if (attached()) {
@@ -166,29 +163,26 @@
}
- /// \brief Attaches the observer into an AlterationNotifier.
- ///
- /// This member attaches the observer into an AlterationNotifier.
- ///
+ // \brief Attaches the observer into an AlterationNotifier.
+ //
+ // This member attaches the observer into an AlterationNotifier.
void attach(AlterationNotifier& nf) {
nf.attach(*this);
}
- /// \brief Detaches the observer into an AlterationNotifier.
- ///
- /// This member detaches the observer from an AlterationNotifier.
- ///
+ // \brief Detaches the observer into an AlterationNotifier.
+ //
+ // This member detaches the observer from an AlterationNotifier.
void detach() {
_notifier->detach(*this);
}
- /// \brief Gives back a pointer to the notifier which the map
- /// attached into.
- ///
- /// This function gives back a pointer to the notifier which the map
- /// attached into.
- ///
+ // \brief Gives back a pointer to the notifier which the map
+ // attached into.
+ //
+ // This function gives back a pointer to the notifier which the map
+ // attached into.
Notifier* notifier() const { return const_cast(_notifier); }
- /// Gives back true when the observer is attached into a notifier.
+ // Gives back true when the observer is attached into a notifier.
bool attached() const { return _notifier != 0; }
@@ -202,51 +196,50 @@
typename std::list::iterator _index;
- /// \brief The member function to notificate the observer about an
- /// item is added to the container.
- ///
- /// The add() member function notificates the observer about an item
- /// is added to the container. It have to be overrided in the
- /// subclasses.
+ // \brief The member function to notificate the observer about an
+ // item is added to the container.
+ //
+ // The add() member function notificates the observer about an item
+ // is added to the container. It have to be overrided in the
+ // subclasses.
virtual void add(const Item&) = 0;
- /// \brief The member function to notificate the observer about
- /// more item is added to the container.
- ///
- /// The add() member function notificates the observer about more item
- /// is added to the container. It have to be overrided in the
- /// subclasses.
+ // \brief The member function to notificate the observer about
+ // more item is added to the container.
+ //
+ // The add() member function notificates the observer about more item
+ // is added to the container. It have to be overrided in the
+ // subclasses.
virtual void add(const std::vector- & items) = 0;
- /// \brief The member function to notificate the observer about an
- /// item is erased from the container.
- ///
- /// The erase() member function notificates the observer about an
- /// item is erased from the container. It have to be overrided in
- /// the subclasses.
+ // \brief The member function to notificate the observer about an
+ // item is erased from the container.
+ //
+ // The erase() member function notificates the observer about an
+ // item is erased from the container. It have to be overrided in
+ // the subclasses.
virtual void erase(const Item&) = 0;
- /// \brief The member function to notificate the observer about
- /// more item is erased from the container.
- ///
- /// The erase() member function notificates the observer about more item
- /// is erased from the container. It have to be overrided in the
- /// subclasses.
+ // \brief The member function to notificate the observer about
+ // more item is erased from the container.
+ //
+ // The erase() member function notificates the observer about more item
+ // is erased from the container. It have to be overrided in the
+ // subclasses.
virtual void erase(const std::vector
- & items) = 0;
- /// \brief The member function to notificate the observer about the
- /// container is built.
- ///
- /// The build() member function notificates the observer about the
- /// container is built from an empty container. It have to be
- /// overrided in the subclasses.
-
+ // \brief The member function to notificate the observer about the
+ // container is built.
+ //
+ // The build() member function notificates the observer about the
+ // container is built from an empty container. It have to be
+ // overrided in the subclasses.
virtual void build() = 0;
- /// \brief The member function to notificate the observer about all
- /// items are erased from the container.
- ///
- /// The clear() member function notificates the observer about all
- /// items are erased from the container. It have to be overrided in
- /// the subclasses.
+ // \brief The member function to notificate the observer about all
+ // items are erased from the container.
+ //
+ // The clear() member function notificates the observer about all
+ // items are erased from the container. It have to be overrided in
+ // the subclasses.
virtual void clear() = 0;
@@ -263,29 +256,28 @@
public:
- /// \brief Default constructor.
- ///
- /// The default constructor of the AlterationNotifier.
- /// It creates an empty notifier.
+ // \brief Default constructor.
+ //
+ // The default constructor of the AlterationNotifier.
+ // It creates an empty notifier.
AlterationNotifier()
: container(0) {}
- /// \brief Constructor.
- ///
- /// Constructor with the observed container parameter.
+ // \brief Constructor.
+ //
+ // Constructor with the observed container parameter.
AlterationNotifier(const Container& _container)
: container(&_container) {}
- /// \brief Copy Constructor of the AlterationNotifier.
- ///
- /// Copy constructor of the AlterationNotifier.
- /// It creates only an empty notifier because the copiable
- /// notifier's observers have to be registered still into that notifier.
+ // \brief Copy Constructor of the AlterationNotifier.
+ //
+ // Copy constructor of the AlterationNotifier.
+ // It creates only an empty notifier because the copiable
+ // notifier's observers have to be registered still into that notifier.
AlterationNotifier(const AlterationNotifier& _notifier)
: container(_notifier.container) {}
- /// \brief Destructor.
- ///
- /// Destructor of the AlterationNotifier.
- ///
+ // \brief Destructor.
+ //
+ // Destructor of the AlterationNotifier.
~AlterationNotifier() {
typename Observers::iterator it;
@@ -295,7 +287,7 @@
}
- /// \brief Sets the container.
- ///
- /// Sets the container.
+ // \brief Sets the container.
+ //
+ // Sets the container.
void setContainer(const Container& _container) {
container = &_container;
@@ -308,32 +300,30 @@
public:
-
-
- /// \brief First item in the container.
- ///
- /// Returns the first item in the container. It is
- /// for start the iteration on the container.
+ // \brief First item in the container.
+ //
+ // Returns the first item in the container. It is
+ // for start the iteration on the container.
void first(Item& item) const {
container->first(item);
}
- /// \brief Next item in the container.
- ///
- /// Returns the next item in the container. It is
- /// for iterate on the container.
+ // \brief Next item in the container.
+ //
+ // Returns the next item in the container. It is
+ // for iterate on the container.
void next(Item& item) const {
container->next(item);
}
- /// \brief Returns the id of the item.
- ///
- /// Returns the id of the item provided by the container.
+ // \brief Returns the id of the item.
+ //
+ // Returns the id of the item provided by the container.
int id(const Item& item) const {
return container->id(item);
}
- /// \brief Returns the maximum id of the container.
- ///
- /// Returns the maximum id of the container.
+ // \brief Returns the maximum id of the container.
+ //
+ // Returns the maximum id of the container.
int maxId() const {
return container->maxId(Item());
@@ -355,10 +345,9 @@
public:
- /// \brief Notifies all the registed observers about an item added to
- /// the container.
- ///
- /// It notifies all the registed observers about an item added to
- /// the container.
- ///
+ // \brief Notifies all the registed observers about an item added to
+ // the container.
+ //
+ // It notifies all the registed observers about an item added to
+ // the container.
void add(const Item& item) {
typename Observers::reverse_iterator it;
@@ -376,10 +365,9 @@
}
- /// \brief Notifies all the registed observers about more item added to
- /// the container.
- ///
- /// It notifies all the registed observers about more item added to
- /// the container.
- ///
+ // \brief Notifies all the registed observers about more item added to
+ // the container.
+ //
+ // It notifies all the registed observers about more item added to
+ // the container.
void add(const std::vector
- & items) {
typename Observers::reverse_iterator it;
@@ -397,10 +385,9 @@
}
- /// \brief Notifies all the registed observers about an item erased from
- /// the container.
- ///
- /// It notifies all the registed observers about an item erased from
- /// the container.
- ///
+ // \brief Notifies all the registed observers about an item erased from
+ // the container.
+ //
+ // It notifies all the registed observers about an item erased from
+ // the container.
void erase(const Item& item) throw() {
typename Observers::iterator it = _observers.begin();
@@ -417,10 +404,9 @@
}
- /// \brief Notifies all the registed observers about more item erased
- /// from the container.
- ///
- /// It notifies all the registed observers about more item erased from
- /// the container.
- ///
+ // \brief Notifies all the registed observers about more item erased
+ // from the container.
+ //
+ // It notifies all the registed observers about more item erased from
+ // the container.
void erase(const std::vector
- & items) {
typename Observers::iterator it = _observers.begin();
@@ -437,9 +423,9 @@
}
- /// \brief Notifies all the registed observers about the container is
- /// built.
- ///
- /// Notifies all the registed observers about the container is built
- /// from an empty container.
+ // \brief Notifies all the registed observers about the container is
+ // built.
+ //
+ // Notifies all the registed observers about the container is built
+ // from an empty container.
void build() {
typename Observers::reverse_iterator it;
@@ -457,9 +443,9 @@
}
- /// \brief Notifies all the registed observers about all items are
- /// erased.
- ///
- /// Notifies all the registed observers about all items are erased
- /// from the container.
+ // \brief Notifies all the registed observers about all items are
+ // erased.
+ //
+ // Notifies all the registed observers about all items are erased
+ // from the container.
void clear() {
typename Observers::iterator it = _observers.begin();
Index: lemon/bits/array_map.h
===================================================================
--- lemon/bits/array_map.h (revision 263)
+++ lemon/bits/array_map.h (revision 314)
@@ -27,46 +27,46 @@
#include
-/// \ingroup graphbits
-/// \file
-/// \brief Graph map based on the array storage.
+// \ingroup graphbits
+// \file
+// \brief Graph map based on the array storage.
namespace lemon {
- /// \ingroup graphbits
- ///
- /// \brief Graph map based on the array storage.
- ///
- /// The ArrayMap template class is graph map structure what
- /// automatically updates the map when a key is added to or erased from
- /// the map. This map uses the allocators to implement
- /// the container functionality.
- ///
- /// The template parameters are the Graph the current Item type and
- /// the Value type of the map.
+ // \ingroup graphbits
+ //
+ // \brief Graph map based on the array storage.
+ //
+ // The ArrayMap template class is graph map structure what
+ // automatically updates the map when a key is added to or erased from
+ // the map. This map uses the allocators to implement
+ // the container functionality.
+ //
+ // The template parameters are the Graph the current Item type and
+ // the Value type of the map.
template
class ArrayMap
: public ItemSetTraits<_Graph, _Item>::ItemNotifier::ObserverBase {
public:
- /// The graph type of the maps.
+ // The graph type of the maps.
typedef _Graph Graph;
- /// The item type of the map.
+ // The item type of the map.
typedef _Item Item;
- /// The reference map tag.
+ // The reference map tag.
typedef True ReferenceMapTag;
- /// The key type of the maps.
+ // The key type of the maps.
typedef _Item Key;
- /// The value type of the map.
+ // The value type of the map.
typedef _Value Value;
- /// The const reference type of the map.
+ // The const reference type of the map.
typedef const _Value& ConstReference;
- /// The reference type of the map.
+ // The reference type of the map.
typedef _Value& Reference;
- /// The notifier type.
+ // The notifier type.
typedef typename ItemSetTraits<_Graph, _Item>::ItemNotifier Notifier;
- /// The MapBase of the Map which imlements the core regisitry function.
+ // The MapBase of the Map which imlements the core regisitry function.
typedef typename Notifier::ObserverBase Parent;
@@ -76,7 +76,7 @@
public:
- /// \brief Graph initialized map constructor.
- ///
- /// Graph initialized map constructor.
+ // \brief Graph initialized map constructor.
+ //
+ // Graph initialized map constructor.
explicit ArrayMap(const Graph& graph) {
Parent::attach(graph.notifier(Item()));
@@ -90,7 +90,7 @@
}
- /// \brief Constructor to use default value to initialize the map.
- ///
- /// It constructs a map and initialize all of the the map.
+ // \brief Constructor to use default value to initialize the map.
+ //
+ // It constructs a map and initialize all of the the map.
ArrayMap(const Graph& graph, const Value& value) {
Parent::attach(graph.notifier(Item()));
@@ -105,7 +105,7 @@
private:
- /// \brief Constructor to copy a map of the same map type.
- ///
- /// Constructor to copy a map of the same map type.
+ // \brief Constructor to copy a map of the same map type.
+ //
+ // Constructor to copy a map of the same map type.
ArrayMap(const ArrayMap& copy) : Parent() {
if (copy.attached()) {
@@ -123,11 +123,11 @@
}
- /// \brief Assign operator.
- ///
- /// This operator assigns for each item in the map the
- /// value mapped to the same item in the copied map.
- /// The parameter map should be indiced with the same
- /// itemset because this assign operator does not change
- /// the container of the map.
+ // \brief Assign operator.
+ //
+ // This operator assigns for each item in the map the
+ // value mapped to the same item in the copied map.
+ // The parameter map should be indiced with the same
+ // itemset because this assign operator does not change
+ // the container of the map.
ArrayMap& operator=(const ArrayMap& cmap) {
return operator=(cmap);
@@ -135,10 +135,10 @@
- /// \brief Template assign operator.
- ///
- /// The given parameter should be conform to the ReadMap
- /// concecpt and could be indiced by the current item set of
- /// the NodeMap. In this case the value for each item
- /// is assigned by the value of the given ReadMap.
+ // \brief Template assign operator.
+ //
+ // The given parameter should be conform to the ReadMap
+ // concecpt and could be indiced by the current item set of
+ // the NodeMap. In this case the value for each item
+ // is assigned by the value of the given ReadMap.
template
ArrayMap& operator=(const CMap& cmap) {
@@ -153,7 +153,7 @@
public:
- /// \brief The destructor of the map.
- ///
- /// The destructor of the map.
+ // \brief The destructor of the map.
+ //
+ // The destructor of the map.
virtual ~ArrayMap() {
if (attached()) {
@@ -171,8 +171,8 @@
public:
- /// \brief The subscript operator.
- ///
- /// The subscript operator. The map can be subscripted by the
- /// actual keys of the graph.
+ // \brief The subscript operator.
+ //
+ // The subscript operator. The map can be subscripted by the
+ // actual keys of the graph.
Value& operator[](const Key& key) {
int id = Parent::notifier()->id(key);
@@ -180,8 +180,8 @@
}
- /// \brief The const subscript operator.
- ///
- /// The const subscript operator. The map can be subscripted by the
- /// actual keys of the graph.
+ // \brief The const subscript operator.
+ //
+ // The const subscript operator. The map can be subscripted by the
+ // actual keys of the graph.
const Value& operator[](const Key& key) const {
int id = Parent::notifier()->id(key);
@@ -189,8 +189,8 @@
}
- /// \brief Setter function of the map.
- ///
- /// Setter function of the map. Equivalent with map[key] = val.
- /// This is a compatibility feature with the not dereferable maps.
+ // \brief Setter function of the map.
+ //
+ // Setter function of the map. Equivalent with map[key] = val.
+ // This is a compatibility feature with the not dereferable maps.
void set(const Key& key, const Value& val) {
(*this)[key] = val;
@@ -199,8 +199,8 @@
protected:
- /// \brief Adds a new key to the map.
- ///
- /// It adds a new key to the map. It called by the observer notifier
- /// and it overrides the add() member function of the observer base.
+ // \brief Adds a new key to the map.
+ //
+ // It adds a new key to the map. It called by the observer notifier
+ // and it overrides the add() member function of the observer base.
virtual void add(const Key& key) {
Notifier* nf = Parent::notifier();
@@ -227,8 +227,8 @@
}
- /// \brief Adds more new keys to the map.
- ///
- /// It adds more new keys to the map. It called by the observer notifier
- /// and it overrides the add() member function of the observer base.
+ // \brief Adds more new keys to the map.
+ //
+ // It adds more new keys to the map. It called by the observer notifier
+ // and it overrides the add() member function of the observer base.
virtual void add(const std::vector& keys) {
Notifier* nf = Parent::notifier();
@@ -271,8 +271,8 @@
}
- /// \brief Erase a key from the map.
- ///
- /// Erase a key from the map. It called by the observer notifier
- /// and it overrides the erase() member function of the observer base.
+ // \brief Erase a key from the map.
+ //
+ // Erase a key from the map. It called by the observer notifier
+ // and it overrides the erase() member function of the observer base.
virtual void erase(const Key& key) {
int id = Parent::notifier()->id(key);
@@ -280,8 +280,8 @@
}
- /// \brief Erase more keys from the map.
- ///
- /// Erase more keys from the map. It called by the observer notifier
- /// and it overrides the erase() member function of the observer base.
+ // \brief Erase more keys from the map.
+ //
+ // Erase more keys from the map. It called by the observer notifier
+ // and it overrides the erase() member function of the observer base.
virtual void erase(const std::vector& keys) {
for (int i = 0; i < int(keys.size()); ++i) {
@@ -291,8 +291,8 @@
}
- /// \brief Buildes the map.
- ///
- /// It buildes the map. It called by the observer notifier
- /// and it overrides the build() member function of the observer base.
+ // \brief Buildes the map.
+ //
+ // It buildes the map. It called by the observer notifier
+ // and it overrides the build() member function of the observer base.
virtual void build() {
Notifier* nf = Parent::notifier();
@@ -305,8 +305,8 @@
}
- /// \brief Clear the map.
- ///
- /// It erase all items from the map. It called by the observer notifier
- /// and it overrides the clear() member function of the observer base.
+ // \brief Clear the map.
+ //
+ // It erase all items from the map. It called by the observer notifier
+ // and it overrides the clear() member function of the observer base.
virtual void clear() {
Notifier* nf = Parent::notifier();
Index: lemon/bits/base_extender.h
===================================================================
--- lemon/bits/base_extender.h (revision 289)
+++ lemon/bits/base_extender.h (revision 314)
@@ -29,12 +29,12 @@
#include
-///\ingroup digraphbits
-///\file
-///\brief Extenders for the digraph types
+//\ingroup digraphbits
+//\file
+//\brief Extenders for the digraph types
namespace lemon {
- /// \ingroup digraphbits
- ///
- /// \brief BaseDigraph to BaseGraph extender
+ // \ingroup digraphbits
+ //
+ // \brief BaseDigraph to BaseGraph extender
template
class UndirDigraphExtender : public Base {
@@ -75,35 +75,35 @@
};
- /// First node of the edge
+ // First node of the edge
Node u(const Edge &e) const {
return Parent::source(e);
}
- /// Source of the given arc
+ // Source of the given arc
Node source(const Arc &e) const {
return e.forward ? Parent::source(e) : Parent::target(e);
}
- /// Second node of the edge
+ // Second node of the edge
Node v(const Edge &e) const {
return Parent::target(e);
}
- /// Target of the given arc
+ // Target of the given arc
Node target(const Arc &e) const {
return e.forward ? Parent::target(e) : Parent::source(e);
}
- /// \brief Directed arc from an edge.
- ///
- /// Returns a directed arc corresponding to the specified edge.
- /// If the given bool is true, the first node of the given edge and
- /// the source node of the returned arc are the same.
+ // \brief Directed arc from an edge.
+ //
+ // Returns a directed arc corresponding to the specified edge.
+ // If the given bool is true, the first node of the given edge and
+ // the source node of the returned arc are the same.
static Arc direct(const Edge &e, bool d) {
return Arc(e, d);
}
- /// Returns whether the given directed arc has the same orientation
- /// as the corresponding edge.
+ // Returns whether the given directed arc has the same orientation
+ // as the corresponding edge.
static bool direction(const Arc &a) { return a.forward; }
Index: lemon/bits/bezier.h
===================================================================
--- lemon/bits/bezier.h (revision 209)
+++ lemon/bits/bezier.h (revision 314)
@@ -20,9 +20,9 @@
#define LEMON_BEZIER_H
-///\ingroup misc
-///\file
-///\brief Classes to compute with Bezier curves.
-///
-///Up to now this file is used internally by \ref graph_to_eps.h
+//\ingroup misc
+//\file
+//\brief Classes to compute with Bezier curves.
+//
+//Up to now this file is used internally by \ref graph_to_eps.h
#include
Index: lemon/bits/default_map.h
===================================================================
--- lemon/bits/default_map.h (revision 209)
+++ lemon/bits/default_map.h (revision 314)
@@ -20,12 +20,11 @@
#define LEMON_BITS_DEFAULT_MAP_H
-
#include
#include
//#include
-///\ingroup graphbits
-///\file
-///\brief Graph maps that construct and destruct their elements dynamically.
+//\ingroup graphbits
+//\file
+//\brief Graph maps that construct and destruct their elements dynamically.
namespace lemon {
@@ -150,5 +149,5 @@
// #endif
- /// \e
+ // DefaultMap class
template
class DefaultMap
Index: lemon/bits/enable_if.h
===================================================================
--- lemon/bits/enable_if.h (revision 220)
+++ lemon/bits/enable_if.h (revision 314)
@@ -36,27 +36,27 @@
#define LEMON_BITS_ENABLE_IF_H
-///\file
-///\brief Miscellaneous basic utilities
+//\file
+//\brief Miscellaneous basic utilities
namespace lemon
{
- /// Basic type for defining "tags". A "YES" condition for \c enable_if.
+ // Basic type for defining "tags". A "YES" condition for \c enable_if.
- /// Basic type for defining "tags". A "YES" condition for \c enable_if.
- ///
- ///\sa False
+ // Basic type for defining "tags". A "YES" condition for \c enable_if.
+ //
+ //\sa False
struct True {
- ///\e
+ //\e
static const bool value = true;
};
- /// Basic type for defining "tags". A "NO" condition for \c enable_if.
+ // Basic type for defining "tags". A "NO" condition for \c enable_if.
- /// Basic type for defining "tags". A "NO" condition for \c enable_if.
- ///
- ///\sa True
+ // Basic type for defining "tags". A "NO" condition for \c enable_if.
+ //
+ //\sa True
struct False {
- ///\e
+ //\e
static const bool value = false;
};
Index: lemon/bits/graph_extender.h
===================================================================
--- lemon/bits/graph_extender.h (revision 263)
+++ lemon/bits/graph_extender.h (revision 314)
@@ -28,12 +28,12 @@
#include
-///\ingroup graphbits
-///\file
-///\brief Extenders for the digraph types
+//\ingroup graphbits
+//\file
+//\brief Extenders for the digraph types
namespace lemon {
- /// \ingroup graphbits
- ///
- /// \brief Extender for the Digraphs
+ // \ingroup graphbits
+ //
+ // \brief Extender for the Digraphs
template
class DigraphExtender : public Base {
@@ -187,28 +187,28 @@
};
- /// \brief Base node of the iterator
- ///
- /// Returns the base node (i.e. the source in this case) of the iterator
+ // \brief Base node of the iterator
+ //
+ // Returns the base node (i.e. the source in this case) of the iterator
Node baseNode(const OutArcIt &arc) const {
return Parent::source(arc);
}
- /// \brief Running node of the iterator
- ///
- /// Returns the running node (i.e. the target in this case) of the
- /// iterator
+ // \brief Running node of the iterator
+ //
+ // Returns the running node (i.e. the target in this case) of the
+ // iterator
Node runningNode(const OutArcIt &arc) const {
return Parent::target(arc);
}
- /// \brief Base node of the iterator
- ///
- /// Returns the base node (i.e. the target in this case) of the iterator
+ // \brief Base node of the iterator
+ //
+ // Returns the base node (i.e. the target in this case) of the iterator
Node baseNode(const InArcIt &arc) const {
return Parent::target(arc);
}
- /// \brief Running node of the iterator
- ///
- /// Returns the running node (i.e. the source in this case) of the
- /// iterator
+ // \brief Running node of the iterator
+ //
+ // Returns the running node (i.e. the source in this case) of the
+ // iterator
Node runningNode(const InArcIt &arc) const {
return Parent::source(arc);
@@ -326,7 +326,7 @@
};
- /// \ingroup _graphbits
- ///
- /// \brief Extender for the Graphs
+ // \ingroup _graphbits
+ //
+ // \brief Extender for the Graphs
template
class GraphExtender : public Base {
@@ -556,41 +556,41 @@
};
- /// \brief Base node of the iterator
- ///
- /// Returns the base node (ie. the source in this case) of the iterator
+ // \brief Base node of the iterator
+ //
+ // Returns the base node (ie. the source in this case) of the iterator
Node baseNode(const OutArcIt &arc) const {
return Parent::source(static_cast(arc));
}
- /// \brief Running node of the iterator
- ///
- /// Returns the running node (ie. the target in this case) of the
- /// iterator
+ // \brief Running node of the iterator
+ //
+ // Returns the running node (ie. the target in this case) of the
+ // iterator
Node runningNode(const OutArcIt &arc) const {
return Parent::target(static_cast(arc));
}
- /// \brief Base node of the iterator
- ///
- /// Returns the base node (ie. the target in this case) of the iterator
+ // \brief Base node of the iterator
+ //
+ // Returns the base node (ie. the target in this case) of the iterator
Node baseNode(const InArcIt &arc) const {
return Parent::target(static_cast(arc));
}
- /// \brief Running node of the iterator
- ///
- /// Returns the running node (ie. the source in this case) of the
- /// iterator
+ // \brief Running node of the iterator
+ //
+ // Returns the running node (ie. the source in this case) of the
+ // iterator
Node runningNode(const InArcIt &arc) const {
return Parent::source(static_cast(arc));
}
- /// Base node of the iterator
- ///
- /// Returns the base node of the iterator
+ // Base node of the iterator
+ //
+ // Returns the base node of the iterator
Node baseNode(const IncEdgeIt &edge) const {
return edge._direction ? u(edge) : v(edge);
}
- /// Running node of the iterator
- ///
- /// Returns the running node of the iterator
+ // Running node of the iterator
+ //
+ // Returns the running node of the iterator
Node runningNode(const IncEdgeIt &edge) const {
return edge._direction ? v(edge) : u(edge);
Index: lemon/bits/map_extender.h
===================================================================
--- lemon/bits/map_extender.h (revision 263)
+++ lemon/bits/map_extender.h (revision 314)
@@ -27,12 +27,12 @@
#include
-///\file
-///\brief Extenders for iterable maps.
+//\file
+//\brief Extenders for iterable maps.
namespace lemon {
- /// \ingroup graphbits
- ///
- /// \brief Extender for maps
+ // \ingroup graphbits
+ //
+ // \brief Extender for maps
template
class MapExtender : public _Map {
@@ -172,7 +172,7 @@
};
- /// \ingroup graphbits
- ///
- /// \brief Extender for maps which use a subset of the items.
+ // \ingroup graphbits
+ //
+ // \brief Extender for maps which use a subset of the items.
template
class SubMapExtender : public _Map {
Index: lemon/bits/traits.h
===================================================================
--- lemon/bits/traits.h (revision 220)
+++ lemon/bits/traits.h (revision 314)
@@ -20,7 +20,7 @@
#define LEMON_BITS_TRAITS_H
-///\file
-///\brief Traits for graphs and maps
-///
+//\file
+//\brief Traits for graphs and maps
+//
#include
Index: lemon/bits/vector_map.h
===================================================================
--- lemon/bits/vector_map.h (revision 280)
+++ lemon/bits/vector_map.h (revision 314)
@@ -29,21 +29,21 @@
#include
-///\ingroup graphbits
-///
-///\file
-///\brief Vector based graph maps.
+//\ingroup graphbits
+//
+//\file
+//\brief Vector based graph maps.
namespace lemon {
- /// \ingroup graphbits
- ///
- /// \brief Graph map based on the std::vector storage.
- ///
- /// The VectorMap template class is graph map structure what
- /// automatically updates the map when a key is added to or erased from
- /// the map. This map type uses the std::vector to store the values.
- ///
- /// \tparam _Graph The graph this map is attached to.
- /// \tparam _Item The item type of the graph items.
- /// \tparam _Value The value type of the map.
+ // \ingroup graphbits
+ //
+ // \brief Graph map based on the std::vector storage.
+ //
+ // The VectorMap template class is graph map structure what
+ // automatically updates the map when a key is added to or erased from
+ // the map. This map type uses the std::vector to store the values.
+ //
+ // \tparam _Graph The graph this map is attached to.
+ // \tparam _Item The item type of the graph items.
+ // \tparam _Value The value type of the map.
template
class VectorMap
@@ -51,39 +51,39 @@
private:
- /// The container type of the map.
+ // The container type of the map.
typedef std::vector<_Value> Container;
public:
- /// The graph type of the map.
+ // The graph type of the map.
typedef _Graph Graph;
- /// The item type of the map.
+ // The item type of the map.
typedef _Item Item;
- /// The reference map tag.
+ // The reference map tag.
typedef True ReferenceMapTag;
- /// The key type of the map.
+ // The key type of the map.
typedef _Item Key;
- /// The value type of the map.
+ // The value type of the map.
typedef _Value Value;
- /// The notifier type.
+ // The notifier type.
typedef typename ItemSetTraits<_Graph, _Item>::ItemNotifier Notifier;
- /// The map type.
+ // The map type.
typedef VectorMap Map;
- /// The base class of the map.
+ // The base class of the map.
typedef typename Notifier::ObserverBase Parent;
- /// The reference type of the map;
+ // The reference type of the map;
typedef typename Container::reference Reference;
- /// The const reference type of the map;
+ // The const reference type of the map;
typedef typename Container::const_reference ConstReference;
- /// \brief Constructor to attach the new map into the notifier.
- ///
- /// It constructs a map and attachs it into the notifier.
- /// It adds all the items of the graph to the map.
+ // \brief Constructor to attach the new map into the notifier.
+ //
+ // It constructs a map and attachs it into the notifier.
+ // It adds all the items of the graph to the map.
VectorMap(const Graph& graph) {
Parent::attach(graph.notifier(Item()));
@@ -91,8 +91,8 @@
}
- /// \brief Constructor uses given value to initialize the map.
- ///
- /// It constructs a map uses a given value to initialize the map.
- /// It adds all the items of the graph to the map.
+ // \brief Constructor uses given value to initialize the map.
+ //
+ // It constructs a map uses a given value to initialize the map.
+ // It adds all the items of the graph to the map.
VectorMap(const Graph& graph, const Value& value) {
Parent::attach(graph.notifier(Item()));
@@ -101,7 +101,7 @@
private:
- /// \brief Copy constructor
- ///
- /// Copy constructor.
+ // \brief Copy constructor
+ //
+ // Copy constructor.
VectorMap(const VectorMap& _copy) : Parent() {
if (_copy.attached()) {
@@ -111,11 +111,11 @@
}
- /// \brief Assign operator.
- ///
- /// This operator assigns for each item in the map the
- /// value mapped to the same item in the copied map.
- /// The parameter map should be indiced with the same
- /// itemset because this assign operator does not change
- /// the container of the map.
+ // \brief Assign operator.
+ //
+ // This operator assigns for each item in the map the
+ // value mapped to the same item in the copied map.
+ // The parameter map should be indiced with the same
+ // itemset because this assign operator does not change
+ // the container of the map.
VectorMap& operator=(const VectorMap& cmap) {
return operator=(cmap);
@@ -123,10 +123,10 @@
- /// \brief Template assign operator.
- ///
- /// The given parameter should be conform to the ReadMap
- /// concecpt and could be indiced by the current item set of
- /// the NodeMap. In this case the value for each item
- /// is assigned by the value of the given ReadMap.
+ // \brief Template assign operator.
+ //
+ // The given parameter should be conform to the ReadMap
+ // concecpt and could be indiced by the current item set of
+ // the NodeMap. In this case the value for each item
+ // is assigned by the value of the given ReadMap.
template
VectorMap& operator=(const CMap& cmap) {
@@ -142,16 +142,16 @@
public:
- /// \brief The subcript operator.
- ///
- /// The subscript operator. The map can be subscripted by the
- /// actual items of the graph.
+ // \brief The subcript operator.
+ //
+ // The subscript operator. The map can be subscripted by the
+ // actual items of the graph.
Reference operator[](const Key& key) {
return container[Parent::notifier()->id(key)];
}
- /// \brief The const subcript operator.
- ///
- /// The const subscript operator. The map can be subscripted by the
- /// actual items of the graph.
+ // \brief The const subcript operator.
+ //
+ // The const subscript operator. The map can be subscripted by the
+ // actual items of the graph.
ConstReference operator[](const Key& key) const {
return container[Parent::notifier()->id(key)];
@@ -159,7 +159,7 @@
- /// \brief The setter function of the map.
- ///
- /// It the same as operator[](key) = value expression.
+ // \brief The setter function of the map.
+ //
+ // It the same as operator[](key) = value expression.
void set(const Key& key, const Value& value) {
(*this)[key] = value;
@@ -168,8 +168,8 @@
protected:
- /// \brief Adds a new key to the map.
- ///
- /// It adds a new key to the map. It called by the observer notifier
- /// and it overrides the add() member function of the observer base.
+ // \brief Adds a new key to the map.
+ //
+ // It adds a new key to the map. It called by the observer notifier
+ // and it overrides the add() member function of the observer base.
virtual void add(const Key& key) {
int id = Parent::notifier()->id(key);
@@ -179,8 +179,8 @@
}
- /// \brief Adds more new keys to the map.
- ///
- /// It adds more new keys to the map. It called by the observer notifier
- /// and it overrides the add() member function of the observer base.
+ // \brief Adds more new keys to the map.
+ //
+ // It adds more new keys to the map. It called by the observer notifier
+ // and it overrides the add() member function of the observer base.
virtual void add(const std::vector& keys) {
int max = container.size() - 1;
@@ -194,16 +194,16 @@
}
- /// \brief Erase a key from the map.
- ///
- /// Erase a key from the map. It called by the observer notifier
- /// and it overrides the erase() member function of the observer base.
+ // \brief Erase a key from the map.
+ //
+ // Erase a key from the map. It called by the observer notifier
+ // and it overrides the erase() member function of the observer base.
virtual void erase(const Key& key) {
container[Parent::notifier()->id(key)] = Value();
}
- /// \brief Erase more keys from the map.
- ///
- /// Erase more keys from the map. It called by the observer notifier
- /// and it overrides the erase() member function of the observer base.
+ // \brief Erase more keys from the map.
+ //
+ // Erase more keys from the map. It called by the observer notifier
+ // and it overrides the erase() member function of the observer base.
virtual void erase(const std::vector& keys) {
for (int i = 0; i < int(keys.size()); ++i) {
@@ -212,8 +212,8 @@
}
- /// \brief Buildes the map.
- ///
- /// It buildes the map. It called by the observer notifier
- /// and it overrides the build() member function of the observer base.
+ // \brief Buildes the map.
+ //
+ // It buildes the map. It called by the observer notifier
+ // and it overrides the build() member function of the observer base.
virtual void build() {
int size = Parent::notifier()->maxId() + 1;
@@ -222,8 +222,8 @@
}
- /// \brief Clear the map.
- ///
- /// It erase all items from the map. It called by the observer notifier
- /// and it overrides the clear() member function of the observer base.
+ // \brief Clear the map.
+ //
+ // It erase all items from the map. It called by the observer notifier
+ // and it overrides the clear() member function of the observer base.
virtual void clear() {
container.clear();
Index: lemon/color.h
===================================================================
--- lemon/color.h (revision 209)
+++ lemon/color.h (revision 313)
@@ -93,5 +93,5 @@
extern const Color DARK_CYAN;
- ///Map ints to different \ref Color "Color"s
+ ///Map ints to different Colors
///This map assigns one of the predefined \ref Color "Color"s to
Index: lemon/concepts/graph_components.h
===================================================================
--- lemon/concepts/graph_components.h (revision 263)
+++ lemon/concepts/graph_components.h (revision 313)
@@ -983,5 +983,5 @@
///
/// This class describes the common interface of the graph maps
- /// (NodeMap, ArcMap), that is \ref maps-page "maps" which can be used to
+ /// (NodeMap, ArcMap), that is maps that can be used to
/// associate data to graph descriptors (nodes or arcs).
template
Index: lemon/concepts/maps.h
===================================================================
--- lemon/concepts/maps.h (revision 220)
+++ lemon/concepts/maps.h (revision 314)
@@ -23,5 +23,5 @@
#include
-///\ingroup concept
+///\ingroup map_concepts
///\file
///\brief The concept of maps.
@@ -31,5 +31,5 @@
namespace concepts {
- /// \addtogroup concept
+ /// \addtogroup map_concepts
/// @{
Index: lemon/core.h
===================================================================
--- lemon/core.h (revision 282)
+++ lemon/core.h (revision 313)
@@ -59,5 +59,5 @@
/// @{
- ///Create convenient typedefs for the digraph types and iterators
+ ///Create convenience typedefs for the digraph types and iterators
///This \c \#define creates convenient type definitions for the following
@@ -81,7 +81,7 @@
typedef Digraph::ArcMap BoolArcMap; \
typedef Digraph::ArcMap IntArcMap; \
- typedef Digraph::ArcMap DoubleArcMap;
-
- ///Create convenient typedefs for the digraph types and iterators
+ typedef Digraph::ArcMap DoubleArcMap
+
+ ///Create convenience typedefs for the digraph types and iterators
///\see DIGRAPH_TYPEDEFS
@@ -101,7 +101,7 @@
typedef typename Digraph::template ArcMap BoolArcMap; \
typedef typename Digraph::template ArcMap IntArcMap; \
- typedef typename Digraph::template ArcMap DoubleArcMap;
-
- ///Create convenient typedefs for the graph types and iterators
+ typedef typename Digraph::template ArcMap DoubleArcMap
+
+ ///Create convenience typedefs for the graph types and iterators
///This \c \#define creates the same convenient type definitions as defined
@@ -120,7 +120,7 @@
typedef Graph::EdgeMap BoolEdgeMap; \
typedef Graph::EdgeMap IntEdgeMap; \
- typedef Graph::EdgeMap DoubleEdgeMap;
-
- ///Create convenient typedefs for the graph types and iterators
+ typedef Graph::EdgeMap DoubleEdgeMap
+
+ ///Create convenience typedefs for the graph types and iterators
///\see GRAPH_TYPEDEFS
@@ -135,5 +135,5 @@
typedef typename Graph::template EdgeMap BoolEdgeMap; \
typedef typename Graph::template EdgeMap IntEdgeMap; \
- typedef typename Graph::template EdgeMap DoubleEdgeMap;
+ typedef typename Graph::template EdgeMap DoubleEdgeMap
/// \brief Function to count the items in a graph.
@@ -1555,5 +1555,5 @@
///structure is updated after each graph alteration. Thus although
///this data structure is theoretically faster than \ref ArcLookUp
- ///and \ref AllArcLookup, it often provides worse performance than
+ ///and \ref AllArcLookUp, it often provides worse performance than
///them.
Arc operator()(Node s, Node t, Arc p = INVALID) const {
@@ -1700,6 +1700,6 @@
///Find an arc between two nodes.
- ///Find an arc between two nodes in time O(logd), where
- ///d is the number of outgoing arcs of \c s.
+ ///Find an arc between two nodes in time O(logd),
+ ///where d is the number of outgoing arcs of \c s.
///\param s The source node.
///\param t The target node.
@@ -1818,6 +1818,6 @@
///\endcode
///
- ///Finding the first arc take O(logd) time, where
- ///d is the number of outgoing arcs of \c s. Then, the
+ ///Finding the first arc take O(logd) time,
+ ///where d is the number of outgoing arcs of \c s. Then the
///consecutive arcs are found in constant time.
///
Index: lemon/dfs.h
===================================================================
--- lemon/dfs.h (revision 292)
+++ lemon/dfs.h (revision 313)
@@ -51,9 +51,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap PredMap;
- ///Instantiates a \ref PredMap.
-
- ///This function instantiates a \ref PredMap.
+ ///Instantiates a PredMap.
+
+ ///This function instantiates a PredMap.
///\param g is the digraph, to which we would like to define the
- ///\ref PredMap.
+ ///PredMap.
static PredMap *createPredMap(const Digraph &g)
{
@@ -66,9 +66,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef NullMap ProcessedMap;
- ///Instantiates a \ref ProcessedMap.
-
- ///This function instantiates a \ref ProcessedMap.
+ ///Instantiates a ProcessedMap.
+
+ ///This function instantiates a ProcessedMap.
///\param g is the digraph, to which
- ///we would like to define the \ref ProcessedMap
+ ///we would like to define the ProcessedMap
#ifdef DOXYGEN
static ProcessedMap *createProcessedMap(const Digraph &g)
@@ -85,9 +85,9 @@
///It must meet the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
typedef typename Digraph::template NodeMap ReachedMap;
- ///Instantiates a \ref ReachedMap.
-
- ///This function instantiates a \ref ReachedMap.
+ ///Instantiates a ReachedMap.
+
+ ///This function instantiates a ReachedMap.
///\param g is the digraph, to which
- ///we would like to define the \ref ReachedMap.
+ ///we would like to define the ReachedMap.
static ReachedMap *createReachedMap(const Digraph &g)
{
@@ -100,9 +100,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap DistMap;
- ///Instantiates a \ref DistMap.
-
- ///This function instantiates a \ref DistMap.
+ ///Instantiates a DistMap.
+
+ ///This function instantiates a DistMap.
///\param g is the digraph, to which we would like to define the
- ///\ref DistMap.
+ ///DistMap.
static DistMap *createDistMap(const Digraph &g)
{
@@ -228,8 +228,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref PredMap type.
+ ///PredMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref PredMap type.
+ ///PredMap type.
template
struct SetPredMap : public Dfs > {
@@ -247,8 +247,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref DistMap type.
+ ///DistMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref DistMap type.
+ ///DistMap type.
template
struct SetDistMap : public Dfs< Digraph, SetDistMapTraits > {
@@ -266,8 +266,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref ReachedMap type.
+ ///ReachedMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref ReachedMap type.
+ ///ReachedMap type.
template
struct SetReachedMap : public Dfs< Digraph, SetReachedMapTraits > {
@@ -285,8 +285,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref ProcessedMap type.
+ ///ProcessedMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref ProcessedMap type.
+ ///ProcessedMap type.
template
struct SetProcessedMap : public Dfs< Digraph, SetProcessedMapTraits > {
@@ -302,8 +302,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref ProcessedMap type to be Digraph::NodeMap.
+ ///ProcessedMap type to be Digraph::NodeMap.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref ProcessedMap type to be Digraph::NodeMap.
+ ///ProcessedMap type to be Digraph::NodeMap.
///If you don't set it explicitly, it will be automatically allocated.
struct SetStandardProcessedMap :
@@ -769,9 +769,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap PredMap;
- ///Instantiates a \ref PredMap.
-
- ///This function instantiates a \ref PredMap.
+ ///Instantiates a PredMap.
+
+ ///This function instantiates a PredMap.
///\param g is the digraph, to which we would like to define the
- ///\ref PredMap.
+ ///PredMap.
static PredMap *createPredMap(const Digraph &g)
{
@@ -785,9 +785,9 @@
///By default it is a NullMap.
typedef NullMap ProcessedMap;
- ///Instantiates a \ref ProcessedMap.
-
- ///This function instantiates a \ref ProcessedMap.
+ ///Instantiates a ProcessedMap.
+
+ ///This function instantiates a ProcessedMap.
///\param g is the digraph, to which
- ///we would like to define the \ref ProcessedMap.
+ ///we would like to define the ProcessedMap.
#ifdef DOXYGEN
static ProcessedMap *createProcessedMap(const Digraph &g)
@@ -804,9 +804,9 @@
///It must meet the \ref concepts::ReadWriteMap "ReadWriteMap" concept.
typedef typename Digraph::template NodeMap ReachedMap;
- ///Instantiates a \ref ReachedMap.
-
- ///This function instantiates a \ref ReachedMap.
+ ///Instantiates a ReachedMap.
+
+ ///This function instantiates a ReachedMap.
///\param g is the digraph, to which
- ///we would like to define the \ref ReachedMap.
+ ///we would like to define the ReachedMap.
static ReachedMap *createReachedMap(const Digraph &g)
{
@@ -819,9 +819,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap DistMap;
- ///Instantiates a \ref DistMap.
-
- ///This function instantiates a \ref DistMap.
+ ///Instantiates a DistMap.
+
+ ///This function instantiates a DistMap.
///\param g is the digraph, to which we would like to define
- ///the \ref DistMap
+ ///the DistMap
static DistMap *createDistMap(const Digraph &g)
{
@@ -836,5 +836,5 @@
};
- /// Default traits class used by \ref DfsWizard
+ /// Default traits class used by DfsWizard
/// To make it easier to use Dfs algorithm
@@ -1002,8 +1002,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting \ref PredMap object.
+ ///for setting PredMap object.
///
///\ref named-func-param "Named parameter"
- ///for setting \ref PredMap object.
+ ///for setting PredMap object.
template
DfsWizard > predMap(const T &t)
@@ -1020,8 +1020,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting \ref ReachedMap object.
+ ///for setting ReachedMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting \ref ReachedMap object.
+ ///for setting ReachedMap object.
template
DfsWizard > reachedMap(const T &t)
@@ -1038,8 +1038,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting \ref DistMap object.
+ ///for setting DistMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting \ref DistMap object.
+ ///for setting DistMap object.
template
DfsWizard > distMap(const T &t)
@@ -1056,8 +1056,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting \ref ProcessedMap object.
+ ///for setting ProcessedMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting \ref ProcessedMap object.
+ ///for setting ProcessedMap object.
template
DfsWizard > processedMap(const T &t)
@@ -1214,9 +1214,9 @@
typedef typename Digraph::template NodeMap ReachedMap;
- /// \brief Instantiates a \ref ReachedMap.
- ///
- /// This function instantiates a \ref ReachedMap.
+ /// \brief Instantiates a ReachedMap.
+ ///
+ /// This function instantiates a ReachedMap.
/// \param digraph is the digraph, to which
- /// we would like to define the \ref ReachedMap.
+ /// we would like to define the ReachedMap.
static ReachedMap *createReachedMap(const Digraph &digraph) {
return new ReachedMap(digraph);
Index: lemon/dijkstra.h
===================================================================
--- lemon/dijkstra.h (revision 290)
+++ lemon/dijkstra.h (revision 313)
@@ -140,9 +140,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap PredMap;
- ///Instantiates a \ref PredMap.
-
- ///This function instantiates a \ref PredMap.
+ ///Instantiates a PredMap.
+
+ ///This function instantiates a PredMap.
///\param g is the digraph, to which we would like to define the
- ///\ref PredMap.
+ ///PredMap.
static PredMap *createPredMap(const Digraph &g)
{
@@ -156,9 +156,9 @@
///By default it is a NullMap.
typedef NullMap ProcessedMap;
- ///Instantiates a \ref ProcessedMap.
-
- ///This function instantiates a \ref ProcessedMap.
+ ///Instantiates a ProcessedMap.
+
+ ///This function instantiates a ProcessedMap.
///\param g is the digraph, to which
- ///we would like to define the \ref ProcessedMap
+ ///we would like to define the ProcessedMap
#ifdef DOXYGEN
static ProcessedMap *createProcessedMap(const Digraph &g)
@@ -175,9 +175,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap DistMap;
- ///Instantiates a \ref DistMap.
-
- ///This function instantiates a \ref DistMap.
+ ///Instantiates a DistMap.
+
+ ///This function instantiates a DistMap.
///\param g is the digraph, to which we would like to define
- ///the \ref DistMap
+ ///the DistMap
static DistMap *createDistMap(const Digraph &g)
{
@@ -328,8 +328,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref PredMap type.
+ ///PredMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref PredMap type.
+ ///PredMap type.
template
struct SetPredMap
@@ -348,8 +348,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref DistMap type.
+ ///DistMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref DistMap type.
+ ///DistMap type.
template
struct SetDistMap
@@ -368,8 +368,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref ProcessedMap type.
+ ///ProcessedMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref ProcessedMap type.
+ ///ProcessedMap type.
template
struct SetProcessedMap
@@ -386,8 +386,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///\ref ProcessedMap type to be Digraph::NodeMap.
+ ///ProcessedMap type to be Digraph::NodeMap.
///
///\ref named-templ-param "Named parameter" for setting
- ///\ref ProcessedMap type to be Digraph::NodeMap.
+ ///ProcessedMap type to be Digraph::NodeMap.
///If you don't set it explicitly, it will be automatically allocated.
struct SetStandardProcessedMap
@@ -454,5 +454,5 @@
/// \brief \ref named-templ-param "Named parameter" for setting
- ///\ref OperationTraits type
+ ///\c OperationTraits type
///
///\ref named-templ-param "Named parameter" for setting
@@ -987,9 +987,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap PredMap;
- ///Instantiates a \ref PredMap.
-
- ///This function instantiates a \ref PredMap.
+ ///Instantiates a PredMap.
+
+ ///This function instantiates a PredMap.
///\param g is the digraph, to which we would like to define the
- ///\ref PredMap.
+ ///PredMap.
static PredMap *createPredMap(const Digraph &g)
{
@@ -1003,9 +1003,9 @@
///By default it is a NullMap.
typedef NullMap ProcessedMap;
- ///Instantiates a \ref ProcessedMap.
-
- ///This function instantiates a \ref ProcessedMap.
+ ///Instantiates a ProcessedMap.
+
+ ///This function instantiates a ProcessedMap.
///\param g is the digraph, to which
- ///we would like to define the \ref ProcessedMap.
+ ///we would like to define the ProcessedMap.
#ifdef DOXYGEN
static ProcessedMap *createProcessedMap(const Digraph &g)
@@ -1022,9 +1022,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap DistMap;
- ///Instantiates a \ref DistMap.
-
- ///This function instantiates a \ref DistMap.
+ ///Instantiates a DistMap.
+
+ ///This function instantiates a DistMap.
///\param g is the digraph, to which we would like to define
- ///the \ref DistMap
+ ///the DistMap
static DistMap *createDistMap(const Digraph &g)
{
@@ -1039,5 +1039,5 @@
};
- /// Default traits class used by \ref DijkstraWizard
+ /// Default traits class used by DijkstraWizard
/// To make it easier to use Dijkstra algorithm
@@ -1199,8 +1199,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting \ref PredMap object.
+ ///for setting PredMap object.
///
///\ref named-func-param "Named parameter"
- ///for setting \ref PredMap object.
+ ///for setting PredMap object.
template
DijkstraWizard > predMap(const T &t)
@@ -1217,8 +1217,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting \ref DistMap object.
+ ///for setting DistMap object.
///
///\ref named-func-param "Named parameter"
- ///for setting \ref DistMap object.
+ ///for setting DistMap object.
template
DijkstraWizard > distMap(const T &t)
@@ -1235,8 +1235,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting \ref ProcessedMap object.
+ ///for setting ProcessedMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting \ref ProcessedMap object.
+ ///for setting ProcessedMap object.
template
DijkstraWizard > processedMap(const T &t)
Index: lemon/dim2.h
===================================================================
--- lemon/dim2.h (revision 253)
+++ lemon/dim2.h (revision 314)
@@ -260,8 +260,8 @@
- /// Bounding box of plain vectors (\ref Point points).
+ /// Bounding box of plain vectors (points).
/// A class to calculate or store the bounding box of plain vectors
- /// (\ref Point points).
+ /// (\ref Point "points").
template
class Box {
@@ -574,7 +574,6 @@
}
- ///Map of x-coordinates of a \ref Point "Point"-map
-
- ///\ingroup maps
+ ///Map of x-coordinates of a Point-map
+
///Map of x-coordinates of a \ref Point "Point"-map.
///
@@ -593,9 +592,7 @@
};
- ///Returns an \ref XMap class
-
- ///This function just returns an \ref XMap class.
- ///
- ///\ingroup maps
+ ///Returns an XMap class
+
+ ///This function just returns an XMap class.
///\relates XMap
template
@@ -611,8 +608,7 @@
}
- ///Constant (read only) version of \ref XMap
-
- ///\ingroup maps
- ///Constant (read only) version of \ref XMap
+ ///Constant (read only) version of XMap
+
+ ///Constant (read only) version of XMap.
///
template
@@ -629,9 +625,7 @@
};
- ///Returns a \ref ConstXMap class
-
- ///This function just returns a \ref ConstXMap class.
- ///
- ///\ingroup maps
+ ///Returns a ConstXMap class
+
+ ///This function just returns a ConstXMap class.
///\relates ConstXMap
template
@@ -641,7 +635,6 @@
}
- ///Map of y-coordinates of a \ref Point "Point"-map
-
- ///\ingroup maps
+ ///Map of y-coordinates of a Point-map
+
///Map of y-coordinates of a \ref Point "Point"-map.
///
@@ -660,9 +653,7 @@
};
- ///Returns a \ref YMap class
-
- ///This function just returns a \ref YMap class.
- ///
- ///\ingroup maps
+ ///Returns a YMap class
+
+ ///This function just returns a YMap class.
///\relates YMap
template
@@ -678,8 +669,7 @@
}
- ///Constant (read only) version of \ref YMap
-
- ///\ingroup maps
- ///Constant (read only) version of \ref YMap
+ ///Constant (read only) version of YMap
+
+ ///Constant (read only) version of YMap.
///
template
@@ -696,9 +686,7 @@
};
- ///Returns a \ref ConstYMap class
-
- ///This function just returns a \ref ConstYMap class.
- ///
- ///\ingroup maps
+ ///Returns a ConstYMap class
+
+ ///This function just returns a ConstYMap class.
///\relates ConstYMap
template
@@ -709,10 +697,8 @@
- ///\brief Map of the \ref Point::normSquare() "normSquare()"
- ///of a \ref Point "Point"-map
+ ///\brief Map of the normSquare() of a Point-map
///
///Map of the \ref Point::normSquare() "normSquare()"
///of a \ref Point "Point"-map.
- ///\ingroup maps
template
class NormSquareMap
@@ -728,9 +714,7 @@
};
- ///Returns a \ref NormSquareMap class
-
- ///This function just returns a \ref NormSquareMap class.
- ///
- ///\ingroup maps
+ ///Returns a NormSquareMap class
+
+ ///This function just returns a NormSquareMap class.
///\relates NormSquareMap
template
Index: lemon/graph_to_eps.h
===================================================================
--- lemon/graph_to_eps.h (revision 291)
+++ lemon/graph_to_eps.h (revision 313)
@@ -63,5 +63,5 @@
}
-///Default traits class of \ref GraphToEps
+///Default traits class of GraphToEps
///Default traits class of \ref GraphToEps.
Index: lemon/lgf_reader.h
===================================================================
--- lemon/lgf_reader.h (revision 295)
+++ lemon/lgf_reader.h (revision 303)
@@ -392,13 +392,35 @@
class DigraphReader;
+ /// \brief Return a \ref DigraphReader class
+ ///
+ /// This function just returns a \ref DigraphReader class.
+ /// \relates DigraphReader
template
DigraphReader digraphReader(Digraph& digraph,
- std::istream& is = std::cin);
-
+ std::istream& is = std::cin) {
+ DigraphReader tmp(digraph, is);
+ return tmp;
+ }
+
+ /// \brief Return a \ref DigraphReader class
+ ///
+ /// This function just returns a \ref DigraphReader class.
+ /// \relates DigraphReader
template
- DigraphReader digraphReader(Digraph& digraph, const std::string& fn);
-
+ DigraphReader digraphReader(Digraph& digraph,
+ const std::string& fn) {
+ DigraphReader tmp(digraph, fn);
+ return tmp;
+ }
+
+ /// \brief Return a \ref DigraphReader class
+ ///
+ /// This function just returns a \ref DigraphReader class.
+ /// \relates DigraphReader
template
- DigraphReader digraphReader(Digraph& digraph, const char *fn);
+ DigraphReader digraphReader(Digraph& digraph, const char* fn) {
+ DigraphReader tmp(digraph, fn);
+ return tmp;
+ }
/// \ingroup lemon_io
@@ -1190,48 +1212,36 @@
};
- /// \brief Return a \ref DigraphReader class
+ template
+ class GraphReader;
+
+ /// \brief Return a \ref GraphReader class
///
- /// This function just returns a \ref DigraphReader class.
- /// \relates DigraphReader
- template
- DigraphReader digraphReader(Digraph& digraph,
- std::istream& is = std::cin) {
- DigraphReader tmp(digraph, is);
+ /// This function just returns a \ref GraphReader class.
+ /// \relates GraphReader
+ template
+ GraphReader graphReader(Graph& graph, std::istream& is = std::cin) {
+ GraphReader tmp(graph, is);
return tmp;
}
- /// \brief Return a \ref DigraphReader class
+ /// \brief Return a \ref GraphReader class
///
- /// This function just returns a \ref DigraphReader class.
- /// \relates DigraphReader
- template
- DigraphReader digraphReader(Digraph& digraph,
- const std::string& fn) {
- DigraphReader tmp(digraph, fn);
+ /// This function just returns a \ref GraphReader class.
+ /// \relates GraphReader
+ template
+ GraphReader graphReader(Graph& graph, const std::string& fn) {
+ GraphReader tmp(graph, fn);
return tmp;
}
- /// \brief Return a \ref DigraphReader class
+ /// \brief Return a \ref GraphReader class
///
- /// This function just returns a \ref DigraphReader class.
- /// \relates DigraphReader
- template
- DigraphReader digraphReader(Digraph& digraph, const char* fn) {
- DigraphReader tmp(digraph, fn);
+ /// This function just returns a \ref GraphReader class.
+ /// \relates GraphReader
+ template
+ GraphReader graphReader(Graph& graph, const char* fn) {
+ GraphReader tmp(graph, fn);
return tmp;
}
-
- template
- class GraphReader;
-
- template
- GraphReader graphReader(Graph& graph,
- std::istream& is = std::cin);
-
- template
- GraphReader graphReader(Graph& graph, const std::string& fn);
-
- template
- GraphReader graphReader(Graph& graph, const char *fn);
/// \ingroup lemon_io
@@ -2031,34 +2041,4 @@
};
-
- /// \brief Return a \ref GraphReader class
- ///
- /// This function just returns a \ref GraphReader class.
- /// \relates GraphReader
- template
- GraphReader graphReader(Graph& graph, std::istream& is = std::cin) {
- GraphReader tmp(graph, is);
- return tmp;
- }
-
- /// \brief Return a \ref GraphReader class
- ///
- /// This function just returns a \ref GraphReader class.
- /// \relates GraphReader
- template
- GraphReader graphReader(Graph& graph, const std::string& fn) {
- GraphReader tmp(graph, fn);
- return tmp;
- }
-
- /// \brief Return a \ref GraphReader class
- ///
- /// This function just returns a \ref GraphReader class.
- /// \relates GraphReader
- template
- GraphReader graphReader(Graph& graph, const char* fn) {
- GraphReader tmp(graph, fn);
- return tmp;
- }
class SectionReader;
Index: lemon/lgf_writer.h
===================================================================
--- lemon/lgf_writer.h (revision 295)
+++ lemon/lgf_writer.h (revision 303)
@@ -352,15 +352,36 @@
class DigraphWriter;
+ /// \brief Return a \ref DigraphWriter class
+ ///
+ /// This function just returns a \ref DigraphWriter class.
+ /// \relates DigraphWriter
template
DigraphWriter digraphWriter(const Digraph& digraph,
- std::ostream& os = std::cout);
-
+ std::ostream& os = std::cout) {
+ DigraphWriter tmp(digraph, os);
+ return tmp;
+ }
+
+ /// \brief Return a \ref DigraphWriter class
+ ///
+ /// This function just returns a \ref DigraphWriter class.
+ /// \relates DigraphWriter
template
DigraphWriter digraphWriter(const Digraph& digraph,
- const std::string& fn);
-
+ const std::string& fn) {
+ DigraphWriter tmp(digraph, fn);
+ return tmp;
+ }
+
+ /// \brief Return a \ref DigraphWriter class
+ ///
+ /// This function just returns a \ref DigraphWriter class.
+ /// \relates DigraphWriter
template
DigraphWriter digraphWriter(const Digraph& digraph,
- const char *fn);
+ const char* fn) {
+ DigraphWriter tmp(digraph, fn);
+ return tmp;
+ }
/// \ingroup lemon_io
@@ -914,49 +935,37 @@
};
- /// \brief Return a \ref DigraphWriter class
- ///
- /// This function just returns a \ref DigraphWriter class.
- /// \relates DigraphWriter
- template
- DigraphWriter digraphWriter(const Digraph& digraph,
- std::ostream& os = std::cout) {
- DigraphWriter tmp(digraph, os);
+ template
+ class GraphWriter;
+
+ /// \brief Return a \ref GraphWriter class
+ ///
+ /// This function just returns a \ref GraphWriter class.
+ /// \relates GraphWriter
+ template
+ GraphWriter graphWriter(const Graph& graph,
+ std::ostream& os = std::cout) {
+ GraphWriter tmp(graph, os);
return tmp;
}
- /// \brief Return a \ref DigraphWriter class
- ///
- /// This function just returns a \ref DigraphWriter class.
- /// \relates DigraphWriter
- template
- DigraphWriter digraphWriter(const Digraph& digraph,
- const std::string& fn) {
- DigraphWriter tmp(digraph, fn);
+ /// \brief Return a \ref GraphWriter class
+ ///
+ /// This function just returns a \ref GraphWriter class.
+ /// \relates GraphWriter
+ template
+ GraphWriter graphWriter(const Graph& graph, const std::string& fn) {
+ GraphWriter tmp(graph, fn);
return tmp;
}
- /// \brief Return a \ref DigraphWriter class
- ///
- /// This function just returns a \ref DigraphWriter class.
- /// \relates DigraphWriter
- template
- DigraphWriter digraphWriter(const Digraph& digraph,
- const char* fn) {
- DigraphWriter tmp(digraph, fn);
+ /// \brief Return a \ref GraphWriter class
+ ///
+ /// This function just returns a \ref GraphWriter class.
+ /// \relates GraphWriter
+ template
+ GraphWriter graphWriter(const Graph& graph, const char* fn) {
+ GraphWriter tmp(graph, fn);
return tmp;
}
-
- template
- class GraphWriter;
-
- template
- GraphWriter graphWriter(const Graph& graph,
- std::ostream& os = std::cout);
-
- template
- GraphWriter graphWriter(const Graph& graph, const std::string& fn);
-
- template
- GraphWriter graphWriter(const Graph& graph, const char *fn);
/// \ingroup lemon_io
@@ -1526,35 +1535,4 @@
/// @}
};
-
- /// \brief Return a \ref GraphWriter class
- ///
- /// This function just returns a \ref GraphWriter class.
- /// \relates GraphWriter
- template
- GraphWriter graphWriter(const Graph& graph,
- std::ostream& os = std::cout) {
- GraphWriter tmp(graph, os);
- return tmp;
- }
-
- /// \brief Return a \ref GraphWriter class
- ///
- /// This function just returns a \ref GraphWriter class.
- /// \relates GraphWriter
- template
- GraphWriter graphWriter(const Graph& graph, const std::string& fn) {
- GraphWriter tmp(graph, fn);
- return tmp;
- }
-
- /// \brief Return a \ref GraphWriter class
- ///
- /// This function just returns a \ref GraphWriter class.
- /// \relates GraphWriter
- template
- GraphWriter graphWriter(const Graph& graph, const char* fn) {
- GraphWriter tmp(graph, fn);
- return tmp;
- }
class SectionWriter;
Index: lemon/list_graph.h
===================================================================
--- lemon/list_graph.h (revision 280)
+++ lemon/list_graph.h (revision 313)
@@ -414,5 +414,5 @@
///
///\note The InArcIts referencing the changed arc remain
- ///valid. However the ArcIts and OutArcIts are
+ ///valid. However the ArcIts and OutArcIts are
///invalidated.
///
Index: lemon/maps.h
===================================================================
--- lemon/maps.h (revision 280)
+++ lemon/maps.h (revision 314)
@@ -44,5 +44,5 @@
class MapBase {
public:
- /// \biref The key type of the map.
+ /// \brief The key type of the map.
typedef K Key;
/// \brief The value type of the map.
@@ -74,7 +74,7 @@
};
- /// Returns a \ref NullMap class
-
- /// This function just returns a \ref NullMap class.
+ /// Returns a \c NullMap class
+
+ /// This function just returns a \c NullMap class.
/// \relates NullMap
template
@@ -89,5 +89,5 @@
/// value to each key.
///
- /// In other aspects it is equivalent to \ref NullMap.
+ /// In other aspects it is equivalent to \c NullMap.
/// So it conforms the \ref concepts::ReadWriteMap "ReadWriteMap"
/// concept, but it absorbs the data written to it.
@@ -134,7 +134,7 @@
};
- /// Returns a \ref ConstMap class
-
- /// This function just returns a \ref ConstMap class.
+ /// Returns a \c ConstMap class
+
+ /// This function just returns a \c ConstMap class.
/// \relates ConstMap
template
@@ -157,5 +157,5 @@
/// value to each key.
///
- /// In other aspects it is equivalent to \ref NullMap.
+ /// In other aspects it is equivalent to \c NullMap.
/// So it conforms the \ref concepts::ReadWriteMap "ReadWriteMap"
/// concept, but it absorbs the data written to it.
@@ -183,7 +183,7 @@
};
- /// Returns a \ref ConstMap class with inlined constant value
-
- /// This function just returns a \ref ConstMap class with inlined
+ /// Returns a \c ConstMap class with inlined constant value
+
+ /// This function just returns a \c ConstMap class with inlined
/// constant value.
/// \relates ConstMap
@@ -213,7 +213,7 @@
};
- /// Returns an \ref IdentityMap class
-
- /// This function just returns an \ref IdentityMap class.
+ /// Returns an \c IdentityMap class
+
+ /// This function just returns an \c IdentityMap class.
/// \relates IdentityMap
template
@@ -229,5 +229,5 @@
/// values to integer keys from the range [0..size-1].
/// It can be used with some data structures, for example
- /// \ref UnionFind, \ref BinHeap, when the used items are small
+ /// \c UnionFind, \c BinHeap, when the used items are small
/// integers. This map conforms the \ref concepts::ReferenceMap
/// "ReferenceMap" concept.
@@ -269,5 +269,5 @@
: _vector(vector.begin(), vector.end()) {}
- /// Constructs the map from another \ref RangeMap.
+ /// Constructs the map from another \c RangeMap.
template
RangeMap(const RangeMap &c)
@@ -312,7 +312,7 @@
};
- /// Returns a \ref RangeMap class
-
- /// This function just returns a \ref RangeMap class.
+ /// Returns a \c RangeMap class
+
+ /// This function just returns a \c RangeMap class.
/// \relates RangeMap
template
@@ -321,8 +321,8 @@
}
- /// \brief Returns a \ref RangeMap class created from an appropriate
+ /// \brief Returns a \c RangeMap class created from an appropriate
/// \c std::vector
- /// This function just returns a \ref RangeMap class created from an
+ /// This function just returns a \c RangeMap class created from an
/// appropriate \c std::vector.
/// \relates RangeMap
@@ -389,5 +389,5 @@
: _map(map.begin(), map.end()), _value(value) {}
- /// \brief Constructs the map from another \ref SparseMap.
+ /// \brief Constructs the map from another \c SparseMap.
template
SparseMap(const SparseMap &c)
@@ -434,7 +434,7 @@
};
- /// Returns a \ref SparseMap class
-
- /// This function just returns a \ref SparseMap class with specified
+ /// Returns a \c SparseMap class
+
+ /// This function just returns a \c SparseMap class with specified
/// default value.
/// \relates SparseMap
@@ -449,8 +449,8 @@
}
- /// \brief Returns a \ref SparseMap class created from an appropriate
+ /// \brief Returns a \c SparseMap class created from an appropriate
/// \c std::map
- /// This function just returns a \ref SparseMap class created from an
+ /// This function just returns a \c SparseMap class created from an
/// appropriate \c std::map.
/// \relates SparseMap
@@ -502,7 +502,7 @@
};
- /// Returns a \ref ComposeMap class
-
- /// This function just returns a \ref ComposeMap class.
+ /// Returns a \c ComposeMap class
+
+ /// This function just returns a \c ComposeMap class.
///
/// If \c m1 and \c m2 are maps and the \c Value type of \c m2 is
@@ -557,7 +557,7 @@
};
- /// Returns a \ref CombineMap class
-
- /// This function just returns a \ref CombineMap class.
+ /// Returns a \c CombineMap class
+
+ /// This function just returns a \c CombineMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c double
@@ -626,7 +626,7 @@
};
- /// Returns a \ref FunctorToMap class
-
- /// This function just returns a \ref FunctorToMap class.
+ /// Returns a \c FunctorToMap class
+
+ /// This function just returns a \c FunctorToMap class.
///
/// This function is specialized for adaptable binary function
@@ -685,7 +685,7 @@
};
- /// Returns a \ref MapToFunctor class
-
- /// This function just returns a \ref MapToFunctor class.
+ /// Returns a \c MapToFunctor class
+
+ /// This function just returns a \c MapToFunctor class.
/// \relates MapToFunctor
template
@@ -724,7 +724,7 @@
};
- /// Returns a \ref ConvertMap class
-
- /// This function just returns a \ref ConvertMap class.
+ /// Returns a \c ConvertMap class
+
+ /// This function just returns a \c ConvertMap class.
/// \relates ConvertMap
template
@@ -764,7 +764,7 @@
};
- /// Returns a \ref ForkMap class
-
- /// This function just returns a \ref ForkMap class.
+ /// Returns a \c ForkMap class
+
+ /// This function just returns a \c ForkMap class.
/// \relates ForkMap
template
@@ -808,7 +808,7 @@
};
- /// Returns an \ref AddMap class
-
- /// This function just returns an \ref AddMap class.
+ /// Returns an \c AddMap class
+
+ /// This function just returns an \c AddMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c double
@@ -856,7 +856,7 @@
};
- /// Returns a \ref SubMap class
-
- /// This function just returns a \ref SubMap class.
+ /// Returns a \c SubMap class
+
+ /// This function just returns a \c SubMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c double
@@ -905,7 +905,7 @@
};
- /// Returns a \ref MulMap class
-
- /// This function just returns a \ref MulMap class.
+ /// Returns a \c MulMap class
+
+ /// This function just returns a \c MulMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c double
@@ -953,7 +953,7 @@
};
- /// Returns a \ref DivMap class
-
- /// This function just returns a \ref DivMap class.
+ /// Returns a \c DivMap class
+
+ /// This function just returns a \c DivMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c double
@@ -1039,7 +1039,7 @@
};
- /// Returns a \ref ShiftMap class
-
- /// This function just returns a \ref ShiftMap class.
+ /// Returns a \c ShiftMap class
+
+ /// This function just returns a \c ShiftMap class.
///
/// For example, if \c m is a map with \c double values and \c v is
@@ -1053,7 +1053,7 @@
}
- /// Returns a \ref ShiftWriteMap class
-
- /// This function just returns a \ref ShiftWriteMap class.
+ /// Returns a \c ShiftWriteMap class
+
+ /// This function just returns a \c ShiftWriteMap class.
///
/// For example, if \c m is a map with \c double values and \c v is
@@ -1141,7 +1141,7 @@
};
- /// Returns a \ref ScaleMap class
-
- /// This function just returns a \ref ScaleMap class.
+ /// Returns a \c ScaleMap class
+
+ /// This function just returns a \c ScaleMap class.
///
/// For example, if \c m is a map with \c double values and \c v is
@@ -1155,7 +1155,7 @@
}
- /// Returns a \ref ScaleWriteMap class
-
- /// This function just returns a \ref ScaleWriteMap class.
+ /// Returns a \c ScaleWriteMap class
+
+ /// This function just returns a \c ScaleWriteMap class.
///
/// For example, if \c m is a map with \c double values and \c v is
@@ -1241,7 +1241,7 @@
};
- /// Returns a \ref NegMap class
-
- /// This function just returns a \ref NegMap class.
+ /// Returns a \c NegMap class
+
+ /// This function just returns a \c NegMap class.
///
/// For example, if \c m is a map with \c double values, then
@@ -1254,7 +1254,7 @@
}
- /// Returns a \ref NegWriteMap class
-
- /// This function just returns a \ref NegWriteMap class.
+ /// Returns a \c NegWriteMap class
+
+ /// This function just returns a \c NegWriteMap class.
///
/// For example, if \c m is a map with \c double values, then
@@ -1297,7 +1297,7 @@
};
- /// Returns an \ref AbsMap class
-
- /// This function just returns an \ref AbsMap class.
+ /// Returns an \c AbsMap class
+
+ /// This function just returns an \c AbsMap class.
///
/// For example, if \c m is a map with \c double values, then
@@ -1346,7 +1346,7 @@
};
- /// Returns a \ref TrueMap class
-
- /// This function just returns a \ref TrueMap class.
+ /// Returns a \c TrueMap class
+
+ /// This function just returns a \c TrueMap class.
/// \relates TrueMap
template
@@ -1383,7 +1383,7 @@
};
- /// Returns a \ref FalseMap class
-
- /// This function just returns a \ref FalseMap class.
+ /// Returns a \c FalseMap class
+
+ /// This function just returns a \c FalseMap class.
/// \relates FalseMap
template
@@ -1430,7 +1430,7 @@
};
- /// Returns an \ref AndMap class
-
- /// This function just returns an \ref AndMap class.
+ /// Returns an \c AndMap class
+
+ /// This function just returns an \c AndMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c bool values,
@@ -1478,7 +1478,7 @@
};
- /// Returns an \ref OrMap class
-
- /// This function just returns an \ref OrMap class.
+ /// Returns an \c OrMap class
+
+ /// This function just returns an \c OrMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c bool values,
@@ -1545,7 +1545,7 @@
};
- /// Returns a \ref NotMap class
-
- /// This function just returns a \ref NotMap class.
+ /// Returns a \c NotMap class
+
+ /// This function just returns a \c NotMap class.
///
/// For example, if \c m is a map with \c bool values, then
@@ -1558,7 +1558,7 @@
}
- /// Returns a \ref NotWriteMap class
-
- /// This function just returns a \ref NotWriteMap class.
+ /// Returns a \c NotWriteMap class
+
+ /// This function just returns a \c NotWriteMap class.
///
/// For example, if \c m is a map with \c bool values, then
@@ -1606,7 +1606,7 @@
};
- /// Returns an \ref EqualMap class
-
- /// This function just returns an \ref EqualMap class.
+ /// Returns an \c EqualMap class
+
+ /// This function just returns an \c EqualMap class.
///
/// For example, if \c m1 and \c m2 are maps with keys and values of
@@ -1654,7 +1654,7 @@
};
- /// Returns an \ref LessMap class
-
- /// This function just returns an \ref LessMap class.
+ /// Returns an \c LessMap class
+
+ /// This function just returns an \c LessMap class.
///
/// For example, if \c m1 and \c m2 are maps with keys and values of
@@ -1683,4 +1683,9 @@
}
+
+ /// @}
+
+ /// \addtogroup maps
+ /// @{
/// \brief Writable bool map for logging each \c true assigned element
@@ -1746,7 +1751,7 @@
};
- /// Returns a \ref LoggerBoolMap class
-
- /// This function just returns a \ref LoggerBoolMap class.
+ /// Returns a \c LoggerBoolMap class
+
+ /// This function just returns a \c LoggerBoolMap class.
///
/// The most important usage of it is storing certain nodes or arcs
@@ -1768,5 +1773,5 @@
/// \note LoggerBoolMap is just \ref concepts::WriteMap "writable", so
/// it cannot be used when a readable map is needed, for example as
- /// \c ReachedMap for \ref Bfs, \ref Dfs and \ref Dijkstra algorithms.
+ /// \c ReachedMap for \c Bfs, \c Dfs and \c Dijkstra algorithms.
///
/// \relates LoggerBoolMap
@@ -1775,4 +1780,9 @@
return LoggerBoolMap(it);
}
+
+ /// @}
+
+ /// \addtogroup graph_maps
+ /// @{
/// Provides an immutable and unique id for each item in the graph.
@@ -1882,6 +1892,4 @@
/// The value type of the InvertableMap.
typedef typename Map::Value Value;
-
-
/// \brief Constructor.
@@ -2050,6 +2058,4 @@
}
-
-
};
@@ -2267,5 +2273,5 @@
///
/// Constructor
- /// \param _digraph The digraph that the map belongs to.
+ /// \param digraph The digraph that the map belongs to.
explicit SourceMap(const Digraph& digraph) : _digraph(digraph) {}
@@ -2283,7 +2289,7 @@
};
- /// \brief Returns a \ref SourceMap class.
- ///
- /// This function just returns an \ref SourceMap class.
+ /// \brief Returns a \c SourceMap class.
+ ///
+ /// This function just returns an \c SourceMap class.
/// \relates SourceMap
template
@@ -2306,5 +2312,5 @@
///
/// Constructor
- /// \param _digraph The digraph that the map belongs to.
+ /// \param digraph The digraph that the map belongs to.
explicit TargetMap(const Digraph& digraph) : _digraph(digraph) {}
@@ -2322,7 +2328,7 @@
};
- /// \brief Returns a \ref TargetMap class.
- ///
- /// This function just returns a \ref TargetMap class.
+ /// \brief Returns a \c TargetMap class.
+ ///
+ /// This function just returns a \c TargetMap class.
/// \relates TargetMap
template
@@ -2345,5 +2351,5 @@
///
/// Constructor
- /// \param _graph The graph that the map belongs to.
+ /// \param graph The graph that the map belongs to.
explicit ForwardMap(const Graph& graph) : _graph(graph) {}
@@ -2361,7 +2367,7 @@
};
- /// \brief Returns a \ref ForwardMap class.
- ///
- /// This function just returns an \ref ForwardMap class.
+ /// \brief Returns a \c ForwardMap class.
+ ///
+ /// This function just returns an \c ForwardMap class.
/// \relates ForwardMap
template
@@ -2384,5 +2390,5 @@
///
/// Constructor
- /// \param _graph The graph that the map belongs to.
+ /// \param graph The graph that the map belongs to.
explicit BackwardMap(const Graph& graph) : _graph(graph) {}
@@ -2400,7 +2406,7 @@
};
- /// \brief Returns a \ref BackwardMap class
-
- /// This function just returns a \ref BackwardMap class.
+ /// \brief Returns a \c BackwardMap class
+
+ /// This function just returns a \c BackwardMap class.
/// \relates BackwardMap
template
Index: lemon/path.h
===================================================================
--- lemon/path.h (revision 236)
+++ lemon/path.h (revision 313)
@@ -850,5 +850,5 @@
int empty() const { return len == 0; }
- /// \break Erase all arcs in the digraph.
+ /// \brief Erase all arcs in the digraph.
void clear() {
len = 0;
Index: lemon/smart_graph.h
===================================================================
--- lemon/smart_graph.h (revision 280)
+++ lemon/smart_graph.h (revision 313)
@@ -366,5 +366,5 @@
///This constructor immediately makes a snapshot of the digraph.
- ///\param _g The digraph we make a snapshot of.
+ ///\param graph The digraph we make a snapshot of.
Snapshot(SmartDigraph &graph) : _graph(&graph) {
node_num=_graph->nodes.size();
@@ -378,5 +378,5 @@
///This function can be called more than once. In case of a repeated
///call, the previous snapshot gets lost.
- ///\param _g The digraph we make the snapshot of.
+ ///\param graph The digraph we make the snapshot of.
void save(SmartDigraph &graph)
{
@@ -776,5 +776,5 @@
///This constructor immediately makes a snapshot of the digraph.
- ///\param g The digraph we make a snapshot of.
+ ///\param graph The digraph we make a snapshot of.
Snapshot(SmartGraph &graph) {
graph.saveSnapshot(*this);
@@ -787,5 +787,5 @@
///This function can be called more than once. In case of a repeated
///call, the previous snapshot gets lost.
- ///\param g The digraph we make the snapshot of.
+ ///\param graph The digraph we make the snapshot of.
void save(SmartGraph &graph)
{
Index: lemon/time_measure.h
===================================================================
--- lemon/time_measure.h (revision 280)
+++ lemon/time_measure.h (revision 314)
@@ -312,10 +312,9 @@
///Basically a Timer can be either running or stopped,
///but it provides a bit finer control on the execution.
- ///The \ref Timer also counts the number of \ref start()
- ///executions, and is stops only after the same amount (or more)
- ///\ref stop() "stop()"s. This can be useful e.g. to compute
- ///the running time
+ ///The \ref lemon::Timer "Timer" also counts the number of
+ ///\ref lemon::Timer::start() "start()" executions, and it stops
+ ///only after the same amount (or more) \ref lemon::Timer::stop()
+ ///"stop()"s. This can be useful e.g. to compute the running time
///of recursive functions.
- ///
///@{
@@ -473,5 +472,5 @@
};
- ///Same as \ref Timer but prints a report on destruction.
+ ///Same as Timer but prints a report on destruction.
///Same as \ref Timer but prints a report on destruction.
@@ -492,13 +491,13 @@
std::ostream &_os;
public:
- ///\e
-
+ ///Constructor
+
+ ///Constructor.
///\param title This text will be printed before the ellapsed time.
///\param os The stream to print the report to.
///\param run Sets whether the timer should start immediately.
-
TimeReport(std::string title,std::ostream &os=std::cerr,bool run=true)
: Timer(run), _title(title), _os(os){}
- ///\e Prints the ellapsed time on destruction.
+ ///Destructor that prints the ellapsed time
~TimeReport()
{
@@ -507,5 +506,5 @@
};
- ///'Do nothing' version of \ref TimeReport
+ ///'Do nothing' version of TimeReport
///\sa TimeReport
Index: tools/Makefile.am
===================================================================
--- tools/Makefile.am (revision 146)
+++ tools/Makefile.am (revision 310)
@@ -2,4 +2,5 @@
bin_PROGRAMS +=
+dist_bin_SCRIPTS += tools/lemon-0.x-to-1.x.sh
endif WANT_TOOLS
Index: tools/lemon-0.x-to-1.x.sh
===================================================================
--- tools/lemon-0.x-to-1.x.sh (revision 310)
+++ tools/lemon-0.x-to-1.x.sh (revision 310)
@@ -0,0 +1,127 @@
+#!/bin/bash
+
+set -e
+
+if [ $# -eq 0 -o x$1 = "x-h" -o x$1 = "x-help" -o x$1 = "x--help" ]; then
+ echo "Usage:"
+ echo " $0 source-file"
+ exit
+fi
+
+TMP=`mktemp`
+
+sed -e "s/undirected graph/_gr_aph_label_/g"\
+ -e "s/undirected edge/_ed_ge_label_/g"\
+ -e "s/graph_/_gr_aph_label__/g"\
+ -e "s/_graph/__gr_aph_label_/g"\
+ -e "s/UGraph/_Gr_aph_label_/g"\
+ -e "s/uGraph/_gr_aph_label_/g"\
+ -e "s/ugraph/_gr_aph_label_/g"\
+ -e "s/Graph/_Digr_aph_label_/g"\
+ -e "s/graph/_digr_aph_label_/g"\
+ -e "s/UEdge/_Ed_ge_label_/g"\
+ -e "s/uEdge/_ed_ge_label_/g"\
+ -e "s/uedge/_ed_ge_label_/g"\
+ -e "s/IncEdgeIt/_In_cEd_geIt_label_/g"\
+ -e "s/Edge/_Ar_c_label_/g"\
+ -e "s/edge/_ar_c_label_/g"\
+ -e "s/ANode/_Re_d_label_/g"\
+ -e "s/BNode/_Blu_e_label_/g"\
+ -e "s/A-Node/_Re_d_label_/g"\
+ -e "s/B-Node/_Blu_e_label_/g"\
+ -e "s/anode/_re_d_label_/g"\
+ -e "s/bnode/_blu_e_label_/g"\
+ -e "s/aNode/_re_d_label_/g"\
+ -e "s/bNode/_blu_e_label_/g"\
+ -e "s/_Digr_aph_label_/Digraph/g"\
+ -e "s/_digr_aph_label_/digraph/g"\
+ -e "s/_Gr_aph_label_/Graph/g"\
+ -e "s/_gr_aph_label_/graph/g"\
+ -e "s/_Ar_c_label_/Arc/g"\
+ -e "s/_ar_c_label_/arc/g"\
+ -e "s/_Ed_ge_label_/Edge/g"\
+ -e "s/_ed_ge_label_/edge/g"\
+ -e "s/_In_cEd_geIt_label_/IncEdgeIt/g"\
+ -e "s/_Re_d_label_/Red/g"\
+ -e "s/_Blu_e_label_/Blue/g"\
+ -e "s/_re_d_label_/red/g"\
+ -e "s/_blu_e_label_/blue/g"\
+ -e "s/\(\W\)DefPredMap\(\W\)/\1SetPredMap\2/g"\
+ -e "s/\(\W\)DefPredMap$/\1SetPredMap/g"\
+ -e "s/^DefPredMap\(\W\)/SetPredMap\1/g"\
+ -e "s/^DefPredMap$/SetPredMap/g"\
+ -e "s/\(\W\)DefDistMap\(\W\)/\1SetDistMap\2/g"\
+ -e "s/\(\W\)DefDistMap$/\1SetDistMap/g"\
+ -e "s/^DefDistMap\(\W\)/SetDistMap\1/g"\
+ -e "s/^DefDistMap$/SetDistMap/g"\
+ -e "s/\(\W\)DefReachedMap\(\W\)/\1SetReachedMap\2/g"\
+ -e "s/\(\W\)DefReachedMap$/\1SetReachedMap/g"\
+ -e "s/^DefReachedMap\(\W\)/SetReachedMap\1/g"\
+ -e "s/^DefReachedMap$/SetReachedMap/g"\
+ -e "s/\(\W\)DefProcessedMap\(\W\)/\1SetProcessedMap\2/g"\
+ -e "s/\(\W\)DefProcessedMap$/\1SetProcessedMap/g"\
+ -e "s/^DefProcessedMap\(\W\)/SetProcessedMap\1/g"\
+ -e "s/^DefProcessedMap$/SetProcessedMap/g"\
+ -e "s/\(\W\)DefHeap\(\W\)/\1SetHeap\2/g"\
+ -e "s/\(\W\)DefHeap$/\1SetHeap/g"\
+ -e "s/^DefHeap\(\W\)/SetHeap\1/g"\
+ -e "s/^DefHeap$/SetHeap/g"\
+ -e "s/\(\W\)DefStandardHeap\(\W\)/\1SetStandradHeap\2/g"\
+ -e "s/\(\W\)DefStandardHeap$/\1SetStandradHeap/g"\
+ -e "s/^DefStandardHeap\(\W\)/SetStandradHeap\1/g"\
+ -e "s/^DefStandardHeap$/SetStandradHeap/g"\
+ -e "s/\(\W\)DefOperationTraits\(\W\)/\1SetOperationTraits\2/g"\
+ -e "s/\(\W\)DefOperationTraits$/\1SetOperationTraits/g"\
+ -e "s/^DefOperationTraits\(\W\)/SetOperationTraits\1/g"\
+ -e "s/^DefOperationTraits$/SetOperationTraits/g"\
+ -e "s/\(\W\)DefProcessedMapToBeDefaultMap\(\W\)/\1SetStandardProcessedMap\2/g"\
+ -e "s/\(\W\)DefProcessedMapToBeDefaultMap$/\1SetStandardProcessedMap/g"\
+ -e "s/^DefProcessedMapToBeDefaultMap\(\W\)/SetStandardProcessedMap\1/g"\
+ -e "s/^DefProcessedMapToBeDefaultMap$/SetStandardProcessedMap/g"\
+ -e "s/\(\W\)IntegerMap\(\W\)/\1RangeMap\2/g"\
+ -e "s/\(\W\)IntegerMap$/\1RangeMap/g"\
+ -e "s/^IntegerMap\(\W\)/RangeMap\1/g"\
+ -e "s/^IntegerMap$/RangeMap/g"\
+ -e "s/\(\W\)integerMap\(\W\)/\1rangeMap\2/g"\
+ -e "s/\(\W\)integerMap$/\1rangeMap/g"\
+ -e "s/^integerMap\(\W\)/rangeMap\1/g"\
+ -e "s/^integerMap$/rangeMap/g"\
+ -e "s/\(\W\)copyGraph\(\W\)/\1graphCopy\2/g"\
+ -e "s/\(\W\)copyGraph$/\1graphCopy/g"\
+ -e "s/^copyGraph\(\W\)/graphCopy\1/g"\
+ -e "s/^copyGraph$/graphCopy/g"\
+ -e "s/\(\W\)copyDigraph\(\W\)/\1digraphCopy\2/g"\
+ -e "s/\(\W\)copyDigraph$/\1digraphCopy/g"\
+ -e "s/^copyDigraph\(\W\)/digraphCopy\1/g"\
+ -e "s/^copyDigraph$/digraphCopy/g"\
+ -e "s/\(\W\)\([sS]\)tdMap\(\W\)/\1\2parseMap\3/g"\
+ -e "s/\(\W\)\([sS]\)tdMap$/\1\2parseMap/g"\
+ -e "s/^\([sS]\)tdMap\(\W\)/\1parseMap\2/g"\
+ -e "s/^\([sS]\)tdMap$/\1parseMap/g"\
+ -e "s/\(\W\)\([Ff]\)unctorMap\(\W\)/\1\2unctorToMap\3/g"\
+ -e "s/\(\W\)\([Ff]\)unctorMap$/\1\2unctorToMap/g"\
+ -e "s/^\([Ff]\)unctorMap\(\W\)/\1unctorToMap\2/g"\
+ -e "s/^\([Ff]\)unctorMap$/\1unctorToMap/g"\
+ -e "s/\(\W\)\([Mm]\)apFunctor\(\W\)/\1\2apToFunctor\3/g"\
+ -e "s/\(\W\)\([Mm]\)apFunctor$/\1\2apToFunctor/g"\
+ -e "s/^\([Mm]\)apFunctor\(\W\)/\1apToFunctor\2/g"\
+ -e "s/^\([Mm]\)apFunctor$/\1apToFunctor/g"\
+ -e "s/\(\W\)\([Ff]\)orkWriteMap\(\W\)/\1\2orkMap\3/g"\
+ -e "s/\(\W\)\([Ff]\)orkWriteMap$/\1\2orkMap/g"\
+ -e "s/^\([Ff]\)orkWriteMap\(\W\)/\1orkMap\2/g"\
+ -e "s/^\([Ff]\)orkWriteMap$/\1orkMap/g"\
+ -e "s/\(\W\)StoreBoolMap\(\W\)/\1LoggerBoolMap\2/g"\
+ -e "s/\(\W\)StoreBoolMap$/\1LoggerBoolMap/g"\
+ -e "s/^StoreBoolMap\(\W\)/LoggerBoolMap\1/g"\
+ -e "s/^StoreBoolMap$/LoggerBoolMap/g"\
+ -e "s/\(\W\)storeBoolMap\(\W\)/\1loggerBoolMap\2/g"\
+ -e "s/\(\W\)storeBoolMap$/\1loggerBoolMap/g"\
+ -e "s/^storeBoolMap\(\W\)/loggerBoolMap\1/g"\
+ -e "s/^storeBoolMap$/loggerBoolMap/g"\
+ -e "s/\(\W\)BoundingBox\(\W\)/\1Box\2/g"\
+ -e "s/\(\W\)BoundingBox$/\1Box/g"\
+ -e "s/^BoundingBox\(\W\)/Box\1/g"\
+ -e "s/^BoundingBox$/Box/g"\
+<$1 > $TMP
+
+mv $TMP $1