Index: Makefile.am
===================================================================
--- Makefile.am (revision 310)
+++ Makefile.am (revision 227)
@@ -25,5 +25,4 @@
bin_PROGRAMS =
check_PROGRAMS =
-dist_bin_SCRIPTS =
TESTS =
XFAIL_TESTS =
@@ -33,4 +32,5 @@
include doc/Makefile.am
include demo/Makefile.am
+include benchmark/Makefile.am
include tools/Makefile.am
Index: README
===================================================================
--- README (revision 310)
+++ README (revision 246)
@@ -38,4 +38,8 @@
Contains programs to check the integrity and correctness of LEMON.
+benchmark/
+
+ Contains programs for measuring the performance of algorithms.
+
tools/
Index: benchmark/Makefile.am
===================================================================
--- benchmark/Makefile.am (revision 146)
+++ benchmark/Makefile.am (revision 146)
@@ -0,0 +1,7 @@
+if WANT_BENCHMARK
+
+noinst_HEADERS +=
+
+noinst_PROGRAMS +=
+
+endif WANT_BENCHMARK
Index: configure.ac
===================================================================
--- configure.ac (revision 310)
+++ configure.ac (revision 296)
@@ -82,4 +82,17 @@
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)
@@ -120,4 +133,5 @@
#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 311)
+++ demo/arg_parser_demo.cc (revision 209)
@@ -28,5 +28,5 @@
using namespace lemon;
-int main(int argc, char **argv)
+int main(int argc, const char **argv)
{
// Initialize the argument parser
Index: demo/graph_to_eps_demo.cc
===================================================================
--- demo/graph_to_eps_demo.cc (revision 313)
+++ demo/graph_to_eps_demo.cc (revision 220)
@@ -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 graph maps.
+/// using appropriate \ref maps-page "graph maps".
///
/// \include graph_to_eps_demo.cc
Index: doc/Doxyfile.in
===================================================================
--- doc/Doxyfile.in (revision 299)
+++ doc/Doxyfile.in (revision 316)
@@ -1,3 +1,3 @@
-# Doxyfile 1.5.5
+# Doxyfile 1.5.7.1
#---------------------------------------------------------------------------
@@ -34,7 +34,9 @@
CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO
+IDL_PROPERTY_SUPPORT = YES
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
TYPEDEF_HIDES_STRUCT = NO
+SYMBOL_CACHE_SIZE = 0
#---------------------------------------------------------------------------
# Build related configuration options
@@ -67,5 +69,8 @@
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = YES
+SHOW_FILES = YES
+SHOW_NAMESPACES = YES
FILE_VERSION_FILTER =
+LAYOUT_FILE = DoxygenLayout.xml
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
@@ -76,5 +81,5 @@
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
-WARN_FORMAT = "$file:$line: $text "
+WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE = doxygen.log
#---------------------------------------------------------------------------
@@ -134,18 +139,25 @@
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = NO
+HTML_DYNAMIC_SECTIONS = NO
GENERATE_DOCSET = NO
DOCSET_FEEDNAME = "Doxygen generated docs"
DOCSET_BUNDLE_ID = org.doxygen.Project
-HTML_DYNAMIC_SECTIONS = NO
+GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
+CHM_INDEX_ENCODING =
BINARY_TOC = NO
TOC_EXPAND = NO
+GENERATE_QHP = NO
+QCH_FILE =
+QHP_NAMESPACE = org.doxygen.Project
+QHP_VIRTUAL_FOLDER = doc
+QHG_LOCATION =
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
+FORMULA_FONTSIZE = 10
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
@@ -226,4 +238,7 @@
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
+DOT_FONTNAME = FreeSans
+DOT_FONTSIZE = 10
+DOT_FONTPATH =
CLASS_GRAPH = YES
COLLABORATION_GRAPH = NO
Index: doc/DoxygenLayout.xml
===================================================================
--- doc/DoxygenLayout.xml (revision 316)
+++ doc/DoxygenLayout.xml (revision 316)
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: doc/Makefile.am
===================================================================
--- doc/Makefile.am (revision 306)
+++ doc/Makefile.am (revision 316)
@@ -1,4 +1,5 @@
EXTRA_DIST += \
doc/Doxyfile.in \
+ doc/DoxygenLayout.xml \
doc/coding_style.dox \
doc/dirs.dox \
@@ -7,5 +8,4 @@
doc/license.dox \
doc/mainpage.dox \
- doc/migration.dox \
doc/named-param.dox \
doc/namespaces.dox \
Index: doc/groups.dox
===================================================================
--- doc/groups.dox (revision 314)
+++ doc/groups.dox (revision 236)
@@ -55,7 +55,5 @@
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 structure.
-
-See also: \ref graph_concepts "Graph Structure Concepts".
+with any graph structures.
*/
@@ -77,8 +75,6 @@
This group describes the map structures implemented in LEMON.
-LEMON provides several special purpose maps and map adaptors that e.g. combine
+LEMON provides several special purpose maps that e.g. combine
new maps from existing ones.
-
-See also: \ref map_concepts "Map Concepts".
*/
@@ -91,4 +87,5 @@
values to the nodes and arcs of graphs.
*/
+
/**
@@ -108,5 +105,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 graphToEps() function.
+usage of map adaptors with the \c digraphToEps() function.
\code
Color nodeColor(int deg) {
@@ -122,5 +119,5 @@
Digraph::NodeMap degree_map(graph);
- graphToEps(graph, "graph.eps")
+ digraphToEps(graph, "graph.eps")
.coords(coords).scaleToA4().undirected()
.nodeColors(composeMap(functorToMap(nodeColor), degree_map))
@@ -128,5 +125,5 @@
\endcode
The \c functorToMap() function makes an \c int to \c Color map from the
-\c nodeColor() function. The \c composeMap() compose the \c degree_map
+\e nodeColor() function. The \c composeMap() compose the \e degree_map
and the previously created map. The composed map is a proper function to
get the color of each node.
@@ -177,4 +174,5 @@
\sa lemon::concepts::Path
+
*/
@@ -188,4 +186,5 @@
*/
+
/**
@defgroup algs Algorithms
@@ -203,9 +202,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.
@@ -215,5 +214,5 @@
/**
-@defgroup max_flow Maximum Flow Algorithms
+@defgroup max_flow Maximum Flow algorithms
@ingroup algs
\brief Algorithms for finding maximum flows.
@@ -243,8 +242,9 @@
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,8 +283,9 @@
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
@@ -298,5 +299,5 @@
/**
-@defgroup planar Planarity Embedding and Drawing
+@defgroup planar Planarity embedding and drawing
@ingroup algs
\brief Algorithms for planarity checking, embedding and drawing
@@ -310,5 +311,5 @@
/**
-@defgroup matching Matching Algorithms
+@defgroup matching Matching algorithms
@ingroup algs
\brief Algorithms for finding matchings in graphs and bipartite graphs.
@@ -348,8 +349,9 @@
\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.
@@ -359,6 +361,7 @@
*/
-/**
-@defgroup auxalg Auxiliary Algorithms
+
+/**
+@defgroup auxalg Auxiliary algorithms
@ingroup algs
\brief Auxiliary algorithms implemented in LEMON.
@@ -369,6 +372,5 @@
/**
-@defgroup approx Approximation Algorithms
-@ingroup algs
+@defgroup approx Approximation algorithms
\brief Approximation algorithms.
@@ -384,8 +386,9 @@
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.
@@ -394,8 +397,9 @@
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.
@@ -438,5 +442,5 @@
/**
-@defgroup timecount Time Measuring and Counting
+@defgroup timecount Time measuring and Counting
@ingroup misc
\brief Simple tools for measuring the performance of algorithms.
@@ -444,4 +448,13 @@
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.
*/
@@ -459,7 +472,6 @@
This group describes the tools for importing and exporting graphs
-and graph related data. Now it supports the \ref lgf-format
-"LEMON Graph Format", the \c DIMACS format and the encapsulated
-postscript (EPS) format.
+and graph related data. Now it supports the LEMON format, the
+\c DIMACS format and the encapsulated postscript (EPS) format.
*/
@@ -467,5 +479,5 @@
@defgroup lemon_io LEMON Input-Output
@ingroup io_group
-\brief Reading and writing LEMON Graph Format.
+\brief Reading and writing \ref lgf-format "LEMON Graph Format".
This group describes methods for reading and writing
@@ -474,5 +486,5 @@
/**
-@defgroup eps_io Postscript Exporting
+@defgroup eps_io Postscript exporting
@ingroup io_group
\brief General \c EPS drawer and graph exporter
@@ -481,4 +493,5 @@
graph exporting tools.
*/
+
/**
@@ -509,5 +522,7 @@
- Finally, They can serve as a skeleton of a new implementation of a concept.
-*/
+
+*/
+
/**
@@ -520,10 +535,8 @@
*/
-/**
-@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.
+/* --- Unused group
+@defgroup experimental Experimental Structures and Algorithms
+This group describes some Experimental structures and algorithms.
+The stuff here is subject to change.
*/
Index: doc/lgf.dox
===================================================================
--- doc/lgf.dox (revision 313)
+++ doc/lgf.dox (revision 236)
@@ -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 314)
+++ doc/mainpage.dox (revision 209)
@@ -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,5 +57,4 @@
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: c/migration.dox
===================================================================
--- doc/migration.dox (revision 314)
+++ (revision )
@@ -1,143 +1,0 @@
-/* -*- 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 311)
+++ lemon/arg_parser.cc (revision 214)
@@ -27,9 +27,10 @@
}
- ArgParser::ArgParser(int argc, const char * const *argv)
- :_argc(argc), _argv(argv), _command_name(argv[0]) {
+ ArgParser::ArgParser(int argc, const char **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 311)
+++ lemon/arg_parser.h (revision 290)
@@ -47,5 +47,5 @@
int _argc;
- const char * const *_argv;
+ const char **_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 * const *argv);
+ ArgParser(int argc, const char **argv);
~ArgParser();
Index: lemon/bfs.h
===================================================================
--- lemon/bfs.h (revision 301)
+++ lemon/bfs.h (revision 292)
@@ -50,9 +50,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap PredMap;
- ///Instantiates a PredMap.
-
- ///This function instantiates a PredMap.
+ ///Instantiates a \ref PredMap.
+
+ ///This function instantiates a \ref PredMap.
///\param g is the digraph, to which we would like to define the
- ///PredMap.
+ ///\ref 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 ProcessedMap.
-
- ///This function instantiates a ProcessedMap.
+ ///Instantiates a \ref ProcessedMap.
+
+ ///This function instantiates a \ref ProcessedMap.
///\param g is the digraph, to which
- ///we would like to define the ProcessedMap
+ ///we would like to define the \ref 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 ReachedMap.
-
- ///This function instantiates a ReachedMap.
+ ///Instantiates a \ref ReachedMap.
+
+ ///This function instantiates a \ref ReachedMap.
///\param g is the digraph, to which
- ///we would like to define the ReachedMap.
+ ///we would like to define the \ref 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 DistMap.
-
- ///This function instantiates a DistMap.
+ ///Instantiates a \ref DistMap.
+
+ ///This function instantiates a \ref DistMap.
///\param g is the digraph, to which we would like to define the
- ///DistMap.
+ ///\ref DistMap.
static DistMap *createDistMap(const Digraph &g)
{
@@ -228,8 +228,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///PredMap type.
+ ///\ref PredMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///PredMap type.
+ ///\ref PredMap type.
template
struct SetPredMap : public Bfs< Digraph, SetPredMapTraits > {
@@ -247,8 +247,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///DistMap type.
+ ///\ref DistMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///DistMap type.
+ ///\ref DistMap type.
template
struct SetDistMap : public Bfs< Digraph, SetDistMapTraits > {
@@ -266,8 +266,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///ReachedMap type.
+ ///\ref ReachedMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///ReachedMap type.
+ ///\ref ReachedMap type.
template
struct SetReachedMap : public Bfs< Digraph, SetReachedMapTraits > {
@@ -285,8 +285,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///ProcessedMap type.
+ ///\ref ProcessedMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///ProcessedMap type.
+ ///\ref ProcessedMap type.
template
struct SetProcessedMap : public Bfs< Digraph, SetProcessedMapTraits > {
@@ -303,8 +303,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///ProcessedMap type to be Digraph::NodeMap.
+ ///\ref ProcessedMap type to be Digraph::NodeMap.
///
///\ref named-templ-param "Named parameter" for setting
- ///ProcessedMap type to be Digraph::NodeMap.
+ ///\ref 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 PredMap.
-
- ///This function instantiates a PredMap.
+ ///Instantiates a \ref PredMap.
+
+ ///This function instantiates a \ref PredMap.
///\param g is the digraph, to which we would like to define the
- ///PredMap.
+ ///\ref PredMap.
static PredMap *createPredMap(const Digraph &g)
{
@@ -852,9 +852,9 @@
///By default it is a NullMap.
typedef NullMap ProcessedMap;
- ///Instantiates a ProcessedMap.
-
- ///This function instantiates a ProcessedMap.
+ ///Instantiates a \ref ProcessedMap.
+
+ ///This function instantiates a \ref ProcessedMap.
///\param g is the digraph, to which
- ///we would like to define the ProcessedMap.
+ ///we would like to define the \ref 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 ReachedMap.
-
- ///This function instantiates a ReachedMap.
+ ///Instantiates a \ref ReachedMap.
+
+ ///This function instantiates a \ref ReachedMap.
///\param g is the digraph, to which
- ///we would like to define the ReachedMap.
+ ///we would like to define the \ref 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 DistMap.
-
- ///This function instantiates a DistMap.
+ ///Instantiates a \ref DistMap.
+
+ ///This function instantiates a \ref DistMap.
///\param g is the digraph, to which we would like to define
- ///the DistMap
+ ///the \ref DistMap
static DistMap *createDistMap(const Digraph &g)
{
@@ -903,5 +903,5 @@
};
- /// Default traits class used by BfsWizard
+ /// Default traits class used by \ref BfsWizard
/// To make it easier to use Bfs algorithm
@@ -1069,8 +1069,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting PredMap object.
+ ///for setting \ref PredMap object.
///
///\ref named-func-param "Named parameter"
- ///for setting PredMap object.
+ ///for setting \ref PredMap object.
template
BfsWizard > predMap(const T &t)
@@ -1087,8 +1087,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting ReachedMap object.
+ ///for setting \ref ReachedMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting ReachedMap object.
+ ///for setting \ref ReachedMap object.
template
BfsWizard > reachedMap(const T &t)
@@ -1105,8 +1105,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting DistMap object.
+ ///for setting \ref DistMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting DistMap object.
+ ///for setting \ref DistMap object.
template
BfsWizard > distMap(const T &t)
@@ -1123,8 +1123,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting ProcessedMap object.
+ ///for setting \ref ProcessedMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting ProcessedMap object.
+ ///for setting \ref ProcessedMap object.
template
BfsWizard > processedMap(const T &t)
@@ -1268,9 +1268,9 @@
typedef typename Digraph::template NodeMap ReachedMap;
- /// \brief Instantiates a ReachedMap.
- ///
- /// This function instantiates a ReachedMap.
+ /// \brief Instantiates a \ref ReachedMap.
+ ///
+ /// This function instantiates a \ref ReachedMap.
/// \param digraph is the digraph, to which
- /// we would like to define the ReachedMap.
+ /// we would like to define the \ref ReachedMap.
static ReachedMap *createReachedMap(const Digraph &digraph) {
return new ReachedMap(digraph);
Index: lemon/bits/alteration_notifier.h
===================================================================
--- lemon/bits/alteration_notifier.h (revision 314)
+++ lemon/bits/alteration_notifier.h (revision 236)
@@ -25,73 +25,74 @@
#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 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 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.
template
@@ -104,28 +105,29 @@
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:
@@ -134,20 +136,21 @@
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()) {
@@ -156,5 +159,5 @@
}
- // \brief Destructor
+ /// \brief Destructor
virtual ~ObserverBase() {
if (attached()) {
@@ -163,26 +166,29 @@
}
- // \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; }
@@ -196,50 +202,51 @@
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;
@@ -256,28 +263,29 @@
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;
@@ -287,7 +295,7 @@
}
- // \brief Sets the container.
- //
- // Sets the container.
+ /// \brief Sets the container.
+ ///
+ /// Sets the container.
void setContainer(const Container& _container) {
container = &_container;
@@ -300,30 +308,32 @@
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());
@@ -345,9 +355,10 @@
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;
@@ -365,9 +376,10 @@
}
- // \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;
@@ -385,9 +397,10 @@
}
- // \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();
@@ -404,9 +417,10 @@
}
- // \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();
@@ -423,9 +437,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;
@@ -443,9 +457,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 314)
+++ lemon/bits/array_map.h (revision 263)
@@ -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 314)
+++ lemon/bits/base_extender.h (revision 289)
@@ -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 314)
+++ lemon/bits/bezier.h (revision 209)
@@ -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 314)
+++ lemon/bits/default_map.h (revision 209)
@@ -20,11 +20,12 @@
#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 {
@@ -149,5 +150,5 @@
// #endif
- // DefaultMap class
+ /// \e
template
class DefaultMap
Index: lemon/bits/enable_if.h
===================================================================
--- lemon/bits/enable_if.h (revision 314)
+++ lemon/bits/enable_if.h (revision 220)
@@ -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 314)
+++ lemon/bits/graph_extender.h (revision 263)
@@ -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 314)
+++ lemon/bits/map_extender.h (revision 263)
@@ -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 314)
+++ lemon/bits/traits.h (revision 220)
@@ -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 314)
+++ lemon/bits/vector_map.h (revision 280)
@@ -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 313)
+++ lemon/color.h (revision 209)
@@ -93,5 +93,5 @@
extern const Color DARK_CYAN;
- ///Map ints to different Colors
+ ///Map ints to different \ref Color "Color"s
///This map assigns one of the predefined \ref Color "Color"s to
Index: lemon/concepts/graph_components.h
===================================================================
--- lemon/concepts/graph_components.h (revision 313)
+++ lemon/concepts/graph_components.h (revision 263)
@@ -983,5 +983,5 @@
///
/// This class describes the common interface of the graph maps
- /// (NodeMap, ArcMap), that is maps that can be used to
+ /// (NodeMap, ArcMap), that is \ref maps-page "maps" which can be used to
/// associate data to graph descriptors (nodes or arcs).
template
Index: lemon/concepts/maps.h
===================================================================
--- lemon/concepts/maps.h (revision 314)
+++ lemon/concepts/maps.h (revision 220)
@@ -23,5 +23,5 @@
#include
-///\ingroup map_concepts
+///\ingroup concept
///\file
///\brief The concept of maps.
@@ -31,5 +31,5 @@
namespace concepts {
- /// \addtogroup map_concepts
+ /// \addtogroup concept
/// @{
Index: lemon/core.h
===================================================================
--- lemon/core.h (revision 313)
+++ lemon/core.h (revision 282)
@@ -59,5 +59,5 @@
/// @{
- ///Create convenience typedefs for the digraph types and iterators
+ ///Create convenient 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 convenience typedefs for the digraph types and iterators
+ typedef Digraph::ArcMap DoubleArcMap;
+
+ ///Create convenient 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 convenience typedefs for the graph types and iterators
+ typedef typename Digraph::template ArcMap DoubleArcMap;
+
+ ///Create convenient 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 convenience typedefs for the graph types and iterators
+ typedef Graph::EdgeMap DoubleEdgeMap;
+
+ ///Create convenient 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 313)
+++ lemon/dfs.h (revision 292)
@@ -51,9 +51,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap PredMap;
- ///Instantiates a PredMap.
-
- ///This function instantiates a PredMap.
+ ///Instantiates a \ref PredMap.
+
+ ///This function instantiates a \ref PredMap.
///\param g is the digraph, to which we would like to define the
- ///PredMap.
+ ///\ref 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 ProcessedMap.
-
- ///This function instantiates a ProcessedMap.
+ ///Instantiates a \ref ProcessedMap.
+
+ ///This function instantiates a \ref ProcessedMap.
///\param g is the digraph, to which
- ///we would like to define the ProcessedMap
+ ///we would like to define the \ref 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 ReachedMap.
-
- ///This function instantiates a ReachedMap.
+ ///Instantiates a \ref ReachedMap.
+
+ ///This function instantiates a \ref ReachedMap.
///\param g is the digraph, to which
- ///we would like to define the ReachedMap.
+ ///we would like to define the \ref 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 DistMap.
-
- ///This function instantiates a DistMap.
+ ///Instantiates a \ref DistMap.
+
+ ///This function instantiates a \ref DistMap.
///\param g is the digraph, to which we would like to define the
- ///DistMap.
+ ///\ref DistMap.
static DistMap *createDistMap(const Digraph &g)
{
@@ -228,8 +228,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///PredMap type.
+ ///\ref PredMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///PredMap type.
+ ///\ref PredMap type.
template
struct SetPredMap : public Dfs > {
@@ -247,8 +247,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///DistMap type.
+ ///\ref DistMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///DistMap type.
+ ///\ref DistMap type.
template
struct SetDistMap : public Dfs< Digraph, SetDistMapTraits > {
@@ -266,8 +266,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///ReachedMap type.
+ ///\ref ReachedMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///ReachedMap type.
+ ///\ref ReachedMap type.
template
struct SetReachedMap : public Dfs< Digraph, SetReachedMapTraits > {
@@ -285,8 +285,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///ProcessedMap type.
+ ///\ref ProcessedMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///ProcessedMap type.
+ ///\ref ProcessedMap type.
template
struct SetProcessedMap : public Dfs< Digraph, SetProcessedMapTraits > {
@@ -302,8 +302,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///ProcessedMap type to be Digraph::NodeMap.
+ ///\ref ProcessedMap type to be Digraph::NodeMap.
///
///\ref named-templ-param "Named parameter" for setting
- ///ProcessedMap type to be Digraph::NodeMap.
+ ///\ref 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 PredMap.
-
- ///This function instantiates a PredMap.
+ ///Instantiates a \ref PredMap.
+
+ ///This function instantiates a \ref PredMap.
///\param g is the digraph, to which we would like to define the
- ///PredMap.
+ ///\ref PredMap.
static PredMap *createPredMap(const Digraph &g)
{
@@ -785,9 +785,9 @@
///By default it is a NullMap.
typedef NullMap ProcessedMap;
- ///Instantiates a ProcessedMap.
-
- ///This function instantiates a ProcessedMap.
+ ///Instantiates a \ref ProcessedMap.
+
+ ///This function instantiates a \ref ProcessedMap.
///\param g is the digraph, to which
- ///we would like to define the ProcessedMap.
+ ///we would like to define the \ref 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 ReachedMap.
-
- ///This function instantiates a ReachedMap.
+ ///Instantiates a \ref ReachedMap.
+
+ ///This function instantiates a \ref ReachedMap.
///\param g is the digraph, to which
- ///we would like to define the ReachedMap.
+ ///we would like to define the \ref 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 DistMap.
-
- ///This function instantiates a DistMap.
+ ///Instantiates a \ref DistMap.
+
+ ///This function instantiates a \ref DistMap.
///\param g is the digraph, to which we would like to define
- ///the DistMap
+ ///the \ref DistMap
static DistMap *createDistMap(const Digraph &g)
{
@@ -836,5 +836,5 @@
};
- /// Default traits class used by DfsWizard
+ /// Default traits class used by \ref DfsWizard
/// To make it easier to use Dfs algorithm
@@ -1002,8 +1002,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting PredMap object.
+ ///for setting \ref PredMap object.
///
///\ref named-func-param "Named parameter"
- ///for setting PredMap object.
+ ///for setting \ref PredMap object.
template
DfsWizard > predMap(const T &t)
@@ -1020,8 +1020,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting ReachedMap object.
+ ///for setting \ref ReachedMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting ReachedMap object.
+ ///for setting \ref ReachedMap object.
template
DfsWizard > reachedMap(const T &t)
@@ -1038,8 +1038,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting DistMap object.
+ ///for setting \ref DistMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting DistMap object.
+ ///for setting \ref DistMap object.
template
DfsWizard > distMap(const T &t)
@@ -1056,8 +1056,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting ProcessedMap object.
+ ///for setting \ref ProcessedMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting ProcessedMap object.
+ ///for setting \ref ProcessedMap object.
template
DfsWizard > processedMap(const T &t)
@@ -1214,9 +1214,9 @@
typedef typename Digraph::template NodeMap ReachedMap;
- /// \brief Instantiates a ReachedMap.
- ///
- /// This function instantiates a ReachedMap.
+ /// \brief Instantiates a \ref ReachedMap.
+ ///
+ /// This function instantiates a \ref ReachedMap.
/// \param digraph is the digraph, to which
- /// we would like to define the ReachedMap.
+ /// we would like to define the \ref ReachedMap.
static ReachedMap *createReachedMap(const Digraph &digraph) {
return new ReachedMap(digraph);
Index: lemon/dijkstra.h
===================================================================
--- lemon/dijkstra.h (revision 313)
+++ lemon/dijkstra.h (revision 290)
@@ -140,9 +140,9 @@
///It must meet the \ref concepts::WriteMap "WriteMap" concept.
typedef typename Digraph::template NodeMap PredMap;
- ///Instantiates a PredMap.
-
- ///This function instantiates a PredMap.
+ ///Instantiates a \ref PredMap.
+
+ ///This function instantiates a \ref PredMap.
///\param g is the digraph, to which we would like to define the
- ///PredMap.
+ ///\ref PredMap.
static PredMap *createPredMap(const Digraph &g)
{
@@ -156,9 +156,9 @@
///By default it is a NullMap.
typedef NullMap ProcessedMap;
- ///Instantiates a ProcessedMap.
-
- ///This function instantiates a ProcessedMap.
+ ///Instantiates a \ref ProcessedMap.
+
+ ///This function instantiates a \ref ProcessedMap.
///\param g is the digraph, to which
- ///we would like to define the ProcessedMap
+ ///we would like to define the \ref 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 DistMap.
-
- ///This function instantiates a DistMap.
+ ///Instantiates a \ref DistMap.
+
+ ///This function instantiates a \ref DistMap.
///\param g is the digraph, to which we would like to define
- ///the DistMap
+ ///the \ref DistMap
static DistMap *createDistMap(const Digraph &g)
{
@@ -328,8 +328,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///PredMap type.
+ ///\ref PredMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///PredMap type.
+ ///\ref PredMap type.
template
struct SetPredMap
@@ -348,8 +348,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///DistMap type.
+ ///\ref DistMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///DistMap type.
+ ///\ref DistMap type.
template
struct SetDistMap
@@ -368,8 +368,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///ProcessedMap type.
+ ///\ref ProcessedMap type.
///
///\ref named-templ-param "Named parameter" for setting
- ///ProcessedMap type.
+ ///\ref ProcessedMap type.
template
struct SetProcessedMap
@@ -386,8 +386,8 @@
};
///\brief \ref named-templ-param "Named parameter" for setting
- ///ProcessedMap type to be Digraph::NodeMap.
+ ///\ref ProcessedMap type to be Digraph::NodeMap.
///
///\ref named-templ-param "Named parameter" for setting
- ///ProcessedMap type to be Digraph::NodeMap.
+ ///\ref 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
- ///\c OperationTraits type
+ ///\ref 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 PredMap.
-
- ///This function instantiates a PredMap.
+ ///Instantiates a \ref PredMap.
+
+ ///This function instantiates a \ref PredMap.
///\param g is the digraph, to which we would like to define the
- ///PredMap.
+ ///\ref PredMap.
static PredMap *createPredMap(const Digraph &g)
{
@@ -1003,9 +1003,9 @@
///By default it is a NullMap.
typedef NullMap ProcessedMap;
- ///Instantiates a ProcessedMap.
-
- ///This function instantiates a ProcessedMap.
+ ///Instantiates a \ref ProcessedMap.
+
+ ///This function instantiates a \ref ProcessedMap.
///\param g is the digraph, to which
- ///we would like to define the ProcessedMap.
+ ///we would like to define the \ref 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 DistMap.
-
- ///This function instantiates a DistMap.
+ ///Instantiates a \ref DistMap.
+
+ ///This function instantiates a \ref DistMap.
///\param g is the digraph, to which we would like to define
- ///the DistMap
+ ///the \ref DistMap
static DistMap *createDistMap(const Digraph &g)
{
@@ -1039,5 +1039,5 @@
};
- /// Default traits class used by DijkstraWizard
+ /// Default traits class used by \ref DijkstraWizard
/// To make it easier to use Dijkstra algorithm
@@ -1199,8 +1199,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting PredMap object.
+ ///for setting \ref PredMap object.
///
///\ref named-func-param "Named parameter"
- ///for setting PredMap object.
+ ///for setting \ref PredMap object.
template
DijkstraWizard > predMap(const T &t)
@@ -1217,8 +1217,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting DistMap object.
+ ///for setting \ref DistMap object.
///
///\ref named-func-param "Named parameter"
- ///for setting DistMap object.
+ ///for setting \ref DistMap object.
template
DijkstraWizard > distMap(const T &t)
@@ -1235,8 +1235,8 @@
};
///\brief \ref named-func-param "Named parameter"
- ///for setting ProcessedMap object.
+ ///for setting \ref ProcessedMap object.
///
/// \ref named-func-param "Named parameter"
- ///for setting ProcessedMap object.
+ ///for setting \ref ProcessedMap object.
template
DijkstraWizard > processedMap(const T &t)
Index: lemon/dim2.h
===================================================================
--- lemon/dim2.h (revision 314)
+++ lemon/dim2.h (revision 253)
@@ -260,8 +260,8 @@
- /// Bounding box of plain vectors (points).
+ /// Bounding box of plain vectors (\ref Point points).
/// A class to calculate or store the bounding box of plain vectors
- /// (\ref Point "points").
+ /// (\ref Point points).
template
class Box {
@@ -574,6 +574,7 @@
}
- ///Map of x-coordinates of a Point-map
-
+ ///Map of x-coordinates of a \ref Point "Point"-map
+
+ ///\ingroup maps
///Map of x-coordinates of a \ref Point "Point"-map.
///
@@ -592,7 +593,9 @@
};
- ///Returns an XMap class
-
- ///This function just returns an XMap class.
+ ///Returns an \ref XMap class
+
+ ///This function just returns an \ref XMap class.
+ ///
+ ///\ingroup maps
///\relates XMap
template
@@ -608,7 +611,8 @@
}
- ///Constant (read only) version of XMap
-
- ///Constant (read only) version of XMap.
+ ///Constant (read only) version of \ref XMap
+
+ ///\ingroup maps
+ ///Constant (read only) version of \ref XMap
///
template
@@ -625,7 +629,9 @@
};
- ///Returns a ConstXMap class
-
- ///This function just returns a ConstXMap class.
+ ///Returns a \ref ConstXMap class
+
+ ///This function just returns a \ref ConstXMap class.
+ ///
+ ///\ingroup maps
///\relates ConstXMap
template
@@ -635,6 +641,7 @@
}
- ///Map of y-coordinates of a Point-map
-
+ ///Map of y-coordinates of a \ref Point "Point"-map
+
+ ///\ingroup maps
///Map of y-coordinates of a \ref Point "Point"-map.
///
@@ -653,7 +660,9 @@
};
- ///Returns a YMap class
-
- ///This function just returns a YMap class.
+ ///Returns a \ref YMap class
+
+ ///This function just returns a \ref YMap class.
+ ///
+ ///\ingroup maps
///\relates YMap
template
@@ -669,7 +678,8 @@
}
- ///Constant (read only) version of YMap
-
- ///Constant (read only) version of YMap.
+ ///Constant (read only) version of \ref YMap
+
+ ///\ingroup maps
+ ///Constant (read only) version of \ref YMap
///
template
@@ -686,7 +696,9 @@
};
- ///Returns a ConstYMap class
-
- ///This function just returns a ConstYMap class.
+ ///Returns a \ref ConstYMap class
+
+ ///This function just returns a \ref ConstYMap class.
+ ///
+ ///\ingroup maps
///\relates ConstYMap
template
@@ -697,8 +709,10 @@
- ///\brief Map of the normSquare() of a Point-map
+ ///\brief Map of the \ref Point::normSquare() "normSquare()"
+ ///of a \ref Point "Point"-map
///
///Map of the \ref Point::normSquare() "normSquare()"
///of a \ref Point "Point"-map.
+ ///\ingroup maps
template
class NormSquareMap
@@ -714,7 +728,9 @@
};
- ///Returns a NormSquareMap class
-
- ///This function just returns a NormSquareMap class.
+ ///Returns a \ref NormSquareMap class
+
+ ///This function just returns a \ref NormSquareMap class.
+ ///
+ ///\ingroup maps
///\relates NormSquareMap
template
Index: lemon/graph_to_eps.h
===================================================================
--- lemon/graph_to_eps.h (revision 313)
+++ lemon/graph_to_eps.h (revision 291)
@@ -63,5 +63,5 @@
}
-///Default traits class of GraphToEps
+///Default traits class of \ref GraphToEps
///Default traits class of \ref GraphToEps.
Index: lemon/lgf_reader.h
===================================================================
--- lemon/lgf_reader.h (revision 303)
+++ lemon/lgf_reader.h (revision 295)
@@ -392,35 +392,13 @@
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) {
- DigraphReader tmp(digraph, is);
- return tmp;
- }
-
- /// \brief Return a \ref DigraphReader class
- ///
- /// This function just returns a \ref DigraphReader class.
- /// \relates DigraphReader
+ std::istream& is = std::cin);
+
template
- 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
+ DigraphReader digraphReader(Digraph& digraph, const std::string& fn);
+
template
- DigraphReader digraphReader(Digraph& digraph, const char* fn) {
- DigraphReader tmp(digraph, fn);
- return tmp;
- }
+ DigraphReader digraphReader(Digraph& digraph, const char *fn);
/// \ingroup lemon_io
@@ -1212,36 +1190,48 @@
};
+ /// \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) {
+ 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 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 tmp(digraph, fn);
+ return tmp;
+ }
+
template
class GraphReader;
- /// \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
+ GraphReader graphReader(Graph& graph,
+ std::istream& is = std::cin);
+
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
+ GraphReader graphReader(Graph& graph, const std::string& fn);
+
template
- GraphReader graphReader(Graph& graph, const char* fn) {
- GraphReader tmp(graph, fn);
- return tmp;
- }
+ GraphReader graphReader(Graph& graph, const char *fn);
/// \ingroup lemon_io
@@ -2041,4 +2031,34 @@
};
+
+ /// \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 303)
+++ lemon/lgf_writer.h (revision 295)
@@ -352,36 +352,15 @@
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) {
- DigraphWriter tmp(digraph, os);
- return tmp;
- }
-
- /// \brief Return a \ref DigraphWriter class
- ///
- /// This function just returns a \ref DigraphWriter class.
- /// \relates DigraphWriter
+ std::ostream& os = std::cout);
+
template
DigraphWriter digraphWriter(const Digraph& digraph,
- 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
+ const std::string& fn);
+
template
DigraphWriter digraphWriter(const Digraph& digraph,
- const char* fn) {
- DigraphWriter tmp(digraph, fn);
- return tmp;
- }
+ const char *fn);
/// \ingroup lemon_io
@@ -935,37 +914,49 @@
};
+ /// \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);
+ 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);
+ 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);
+ return tmp;
+ }
+
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 GraphWriter class
- ///
- /// This function just returns a \ref GraphWriter class.
- /// \relates GraphWriter
+ std::ostream& os = std::cout);
+
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
+ GraphWriter graphWriter(const Graph& graph, const std::string& fn);
+
template
- GraphWriter graphWriter(const Graph& graph, const char* fn) {
- GraphWriter tmp(graph, fn);
- return tmp;
- }
+ GraphWriter graphWriter(const Graph& graph, const char *fn);
/// \ingroup lemon_io
@@ -1535,4 +1526,35 @@
/// @}
};
+
+ /// \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 313)
+++ lemon/list_graph.h (revision 280)
@@ -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 314)
+++ lemon/maps.h (revision 280)
@@ -44,5 +44,5 @@
class MapBase {
public:
- /// \brief The key type of the map.
+ /// \biref The key type of the map.
typedef K Key;
/// \brief The value type of the map.
@@ -74,7 +74,7 @@
};
- /// Returns a \c NullMap class
-
- /// This function just returns a \c NullMap class.
+ /// Returns a \ref NullMap class
+
+ /// This function just returns a \ref NullMap class.
/// \relates NullMap
template
@@ -89,5 +89,5 @@
/// value to each key.
///
- /// In other aspects it is equivalent to \c NullMap.
+ /// In other aspects it is equivalent to \ref NullMap.
/// So it conforms the \ref concepts::ReadWriteMap "ReadWriteMap"
/// concept, but it absorbs the data written to it.
@@ -134,7 +134,7 @@
};
- /// Returns a \c ConstMap class
-
- /// This function just returns a \c ConstMap class.
+ /// Returns a \ref ConstMap class
+
+ /// This function just returns a \ref ConstMap class.
/// \relates ConstMap
template
@@ -157,5 +157,5 @@
/// value to each key.
///
- /// In other aspects it is equivalent to \c NullMap.
+ /// In other aspects it is equivalent to \ref NullMap.
/// So it conforms the \ref concepts::ReadWriteMap "ReadWriteMap"
/// concept, but it absorbs the data written to it.
@@ -183,7 +183,7 @@
};
- /// Returns a \c ConstMap class with inlined constant value
-
- /// This function just returns a \c ConstMap class with inlined
+ /// Returns a \ref ConstMap class with inlined constant value
+
+ /// This function just returns a \ref ConstMap class with inlined
/// constant value.
/// \relates ConstMap
@@ -213,7 +213,7 @@
};
- /// Returns an \c IdentityMap class
-
- /// This function just returns an \c IdentityMap class.
+ /// Returns an \ref IdentityMap class
+
+ /// This function just returns an \ref 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
- /// \c UnionFind, \c BinHeap, when the used items are small
+ /// \ref UnionFind, \ref 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 \c RangeMap.
+ /// Constructs the map from another \ref RangeMap.
template
RangeMap(const RangeMap &c)
@@ -312,7 +312,7 @@
};
- /// Returns a \c RangeMap class
-
- /// This function just returns a \c RangeMap class.
+ /// Returns a \ref RangeMap class
+
+ /// This function just returns a \ref RangeMap class.
/// \relates RangeMap
template
@@ -321,8 +321,8 @@
}
- /// \brief Returns a \c RangeMap class created from an appropriate
+ /// \brief Returns a \ref RangeMap class created from an appropriate
/// \c std::vector
- /// This function just returns a \c RangeMap class created from an
+ /// This function just returns a \ref 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 \c SparseMap.
+ /// \brief Constructs the map from another \ref SparseMap.
template
SparseMap(const SparseMap &c)
@@ -434,7 +434,7 @@
};
- /// Returns a \c SparseMap class
-
- /// This function just returns a \c SparseMap class with specified
+ /// Returns a \ref SparseMap class
+
+ /// This function just returns a \ref SparseMap class with specified
/// default value.
/// \relates SparseMap
@@ -449,8 +449,8 @@
}
- /// \brief Returns a \c SparseMap class created from an appropriate
+ /// \brief Returns a \ref SparseMap class created from an appropriate
/// \c std::map
- /// This function just returns a \c SparseMap class created from an
+ /// This function just returns a \ref SparseMap class created from an
/// appropriate \c std::map.
/// \relates SparseMap
@@ -502,7 +502,7 @@
};
- /// Returns a \c ComposeMap class
-
- /// This function just returns a \c ComposeMap class.
+ /// Returns a \ref ComposeMap class
+
+ /// This function just returns a \ref 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 \c CombineMap class
-
- /// This function just returns a \c CombineMap class.
+ /// Returns a \ref CombineMap class
+
+ /// This function just returns a \ref CombineMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c double
@@ -626,7 +626,7 @@
};
- /// Returns a \c FunctorToMap class
-
- /// This function just returns a \c FunctorToMap class.
+ /// Returns a \ref FunctorToMap class
+
+ /// This function just returns a \ref FunctorToMap class.
///
/// This function is specialized for adaptable binary function
@@ -685,7 +685,7 @@
};
- /// Returns a \c MapToFunctor class
-
- /// This function just returns a \c MapToFunctor class.
+ /// Returns a \ref MapToFunctor class
+
+ /// This function just returns a \ref MapToFunctor class.
/// \relates MapToFunctor
template
@@ -724,7 +724,7 @@
};
- /// Returns a \c ConvertMap class
-
- /// This function just returns a \c ConvertMap class.
+ /// Returns a \ref ConvertMap class
+
+ /// This function just returns a \ref ConvertMap class.
/// \relates ConvertMap
template
@@ -764,7 +764,7 @@
};
- /// Returns a \c ForkMap class
-
- /// This function just returns a \c ForkMap class.
+ /// Returns a \ref ForkMap class
+
+ /// This function just returns a \ref ForkMap class.
/// \relates ForkMap
template
@@ -808,7 +808,7 @@
};
- /// Returns an \c AddMap class
-
- /// This function just returns an \c AddMap class.
+ /// Returns an \ref AddMap class
+
+ /// This function just returns an \ref AddMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c double
@@ -856,7 +856,7 @@
};
- /// Returns a \c SubMap class
-
- /// This function just returns a \c SubMap class.
+ /// Returns a \ref SubMap class
+
+ /// This function just returns a \ref SubMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c double
@@ -905,7 +905,7 @@
};
- /// Returns a \c MulMap class
-
- /// This function just returns a \c MulMap class.
+ /// Returns a \ref MulMap class
+
+ /// This function just returns a \ref MulMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c double
@@ -953,7 +953,7 @@
};
- /// Returns a \c DivMap class
-
- /// This function just returns a \c DivMap class.
+ /// Returns a \ref DivMap class
+
+ /// This function just returns a \ref DivMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c double
@@ -1039,7 +1039,7 @@
};
- /// Returns a \c ShiftMap class
-
- /// This function just returns a \c ShiftMap class.
+ /// Returns a \ref ShiftMap class
+
+ /// This function just returns a \ref ShiftMap class.
///
/// For example, if \c m is a map with \c double values and \c v is
@@ -1053,7 +1053,7 @@
}
- /// Returns a \c ShiftWriteMap class
-
- /// This function just returns a \c ShiftWriteMap class.
+ /// Returns a \ref ShiftWriteMap class
+
+ /// This function just returns a \ref ShiftWriteMap class.
///
/// For example, if \c m is a map with \c double values and \c v is
@@ -1141,7 +1141,7 @@
};
- /// Returns a \c ScaleMap class
-
- /// This function just returns a \c ScaleMap class.
+ /// Returns a \ref ScaleMap class
+
+ /// This function just returns a \ref ScaleMap class.
///
/// For example, if \c m is a map with \c double values and \c v is
@@ -1155,7 +1155,7 @@
}
- /// Returns a \c ScaleWriteMap class
-
- /// This function just returns a \c ScaleWriteMap class.
+ /// Returns a \ref ScaleWriteMap class
+
+ /// This function just returns a \ref ScaleWriteMap class.
///
/// For example, if \c m is a map with \c double values and \c v is
@@ -1241,7 +1241,7 @@
};
- /// Returns a \c NegMap class
-
- /// This function just returns a \c NegMap class.
+ /// Returns a \ref NegMap class
+
+ /// This function just returns a \ref NegMap class.
///
/// For example, if \c m is a map with \c double values, then
@@ -1254,7 +1254,7 @@
}
- /// Returns a \c NegWriteMap class
-
- /// This function just returns a \c NegWriteMap class.
+ /// Returns a \ref NegWriteMap class
+
+ /// This function just returns a \ref NegWriteMap class.
///
/// For example, if \c m is a map with \c double values, then
@@ -1297,7 +1297,7 @@
};
- /// Returns an \c AbsMap class
-
- /// This function just returns an \c AbsMap class.
+ /// Returns an \ref AbsMap class
+
+ /// This function just returns an \ref AbsMap class.
///
/// For example, if \c m is a map with \c double values, then
@@ -1346,7 +1346,7 @@
};
- /// Returns a \c TrueMap class
-
- /// This function just returns a \c TrueMap class.
+ /// Returns a \ref TrueMap class
+
+ /// This function just returns a \ref TrueMap class.
/// \relates TrueMap
template
@@ -1383,7 +1383,7 @@
};
- /// Returns a \c FalseMap class
-
- /// This function just returns a \c FalseMap class.
+ /// Returns a \ref FalseMap class
+
+ /// This function just returns a \ref FalseMap class.
/// \relates FalseMap
template
@@ -1430,7 +1430,7 @@
};
- /// Returns an \c AndMap class
-
- /// This function just returns an \c AndMap class.
+ /// Returns an \ref AndMap class
+
+ /// This function just returns an \ref AndMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c bool values,
@@ -1478,7 +1478,7 @@
};
- /// Returns an \c OrMap class
-
- /// This function just returns an \c OrMap class.
+ /// Returns an \ref OrMap class
+
+ /// This function just returns an \ref OrMap class.
///
/// For example, if \c m1 and \c m2 are both maps with \c bool values,
@@ -1545,7 +1545,7 @@
};
- /// Returns a \c NotMap class
-
- /// This function just returns a \c NotMap class.
+ /// Returns a \ref NotMap class
+
+ /// This function just returns a \ref NotMap class.
///
/// For example, if \c m is a map with \c bool values, then
@@ -1558,7 +1558,7 @@
}
- /// Returns a \c NotWriteMap class
-
- /// This function just returns a \c NotWriteMap class.
+ /// Returns a \ref NotWriteMap class
+
+ /// This function just returns a \ref NotWriteMap class.
///
/// For example, if \c m is a map with \c bool values, then
@@ -1606,7 +1606,7 @@
};
- /// Returns an \c EqualMap class
-
- /// This function just returns an \c EqualMap class.
+ /// Returns an \ref EqualMap class
+
+ /// This function just returns an \ref EqualMap class.
///
/// For example, if \c m1 and \c m2 are maps with keys and values of
@@ -1654,7 +1654,7 @@
};
- /// Returns an \c LessMap class
-
- /// This function just returns an \c LessMap class.
+ /// Returns an \ref LessMap class
+
+ /// This function just returns an \ref LessMap class.
///
/// For example, if \c m1 and \c m2 are maps with keys and values of
@@ -1683,9 +1683,4 @@
}
-
- /// @}
-
- /// \addtogroup maps
- /// @{
/// \brief Writable bool map for logging each \c true assigned element
@@ -1751,7 +1746,7 @@
};
- /// Returns a \c LoggerBoolMap class
-
- /// This function just returns a \c LoggerBoolMap class.
+ /// Returns a \ref LoggerBoolMap class
+
+ /// This function just returns a \ref LoggerBoolMap class.
///
/// The most important usage of it is storing certain nodes or arcs
@@ -1773,5 +1768,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 \c Bfs, \c Dfs and \c Dijkstra algorithms.
+ /// \c ReachedMap for \ref Bfs, \ref Dfs and \ref Dijkstra algorithms.
///
/// \relates LoggerBoolMap
@@ -1780,9 +1775,4 @@
return LoggerBoolMap(it);
}
-
- /// @}
-
- /// \addtogroup graph_maps
- /// @{
/// Provides an immutable and unique id for each item in the graph.
@@ -1892,4 +1882,6 @@
/// The value type of the InvertableMap.
typedef typename Map::Value Value;
+
+
/// \brief Constructor.
@@ -2058,4 +2050,6 @@
}
+
+
};
@@ -2273,5 +2267,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) {}
@@ -2289,7 +2283,7 @@
};
- /// \brief Returns a \c SourceMap class.
- ///
- /// This function just returns an \c SourceMap class.
+ /// \brief Returns a \ref SourceMap class.
+ ///
+ /// This function just returns an \ref SourceMap class.
/// \relates SourceMap
template
@@ -2312,5 +2306,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) {}
@@ -2328,7 +2322,7 @@
};
- /// \brief Returns a \c TargetMap class.
- ///
- /// This function just returns a \c TargetMap class.
+ /// \brief Returns a \ref TargetMap class.
+ ///
+ /// This function just returns a \ref TargetMap class.
/// \relates TargetMap
template
@@ -2351,5 +2345,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) {}
@@ -2367,7 +2361,7 @@
};
- /// \brief Returns a \c ForwardMap class.
- ///
- /// This function just returns an \c ForwardMap class.
+ /// \brief Returns a \ref ForwardMap class.
+ ///
+ /// This function just returns an \ref ForwardMap class.
/// \relates ForwardMap
template
@@ -2390,5 +2384,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) {}
@@ -2406,7 +2400,7 @@
};
- /// \brief Returns a \c BackwardMap class
-
- /// This function just returns a \c BackwardMap class.
+ /// \brief Returns a \ref BackwardMap class
+
+ /// This function just returns a \ref BackwardMap class.
/// \relates BackwardMap
template
Index: lemon/path.h
===================================================================
--- lemon/path.h (revision 313)
+++ lemon/path.h (revision 236)
@@ -850,5 +850,5 @@
int empty() const { return len == 0; }
- /// \brief Erase all arcs in the digraph.
+ /// \break Erase all arcs in the digraph.
void clear() {
len = 0;
Index: lemon/smart_graph.h
===================================================================
--- lemon/smart_graph.h (revision 313)
+++ lemon/smart_graph.h (revision 280)
@@ -366,5 +366,5 @@
///This constructor immediately makes a snapshot of the digraph.
- ///\param graph The digraph we make a snapshot of.
+ ///\param _g 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 graph The digraph we make the snapshot of.
+ ///\param _g 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 graph The digraph we make a snapshot of.
+ ///\param g 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 graph The digraph we make the snapshot of.
+ ///\param g The digraph we make the snapshot of.
void save(SmartGraph &graph)
{
Index: lemon/time_measure.h
===================================================================
--- lemon/time_measure.h (revision 314)
+++ lemon/time_measure.h (revision 280)
@@ -312,9 +312,10 @@
///Basically a Timer can be either running or stopped,
///but it provides a bit finer control on the execution.
- ///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
+ ///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
///of recursive functions.
+ ///
///@{
@@ -472,5 +473,5 @@
};
- ///Same as Timer but prints a report on destruction.
+ ///Same as \ref Timer but prints a report on destruction.
///Same as \ref Timer but prints a report on destruction.
@@ -491,13 +492,13 @@
std::ostream &_os;
public:
- ///Constructor
-
- ///Constructor.
+ ///\e
+
///\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){}
- ///Destructor that prints the ellapsed time
+ ///\e Prints the ellapsed time on destruction.
~TimeReport()
{
@@ -506,5 +507,5 @@
};
- ///'Do nothing' version of TimeReport
+ ///'Do nothing' version of \ref TimeReport
///\sa TimeReport
Index: tools/Makefile.am
===================================================================
--- tools/Makefile.am (revision 310)
+++ tools/Makefile.am (revision 146)
@@ -2,5 +2,4 @@
bin_PROGRAMS +=
-dist_bin_SCRIPTS += tools/lemon-0.x-to-1.x.sh
endif WANT_TOOLS
Index: ols/lemon-0.x-to-1.x.sh
===================================================================
--- tools/lemon-0.x-to-1.x.sh (revision 310)
+++ (revision )
@@ -1,127 +1,0 @@
-#!/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