# HG changeset patch
# User kpeter
# Date 1190898246 0
# Node ID 059dcdda37c5599b583c0d29200fea0ddf7e952a
# Parent 1e9cc7b2eabc242dff0b1a073736dc9c5f08ec01
Bug fixes in the documentation (mainly bad references).
diff -r 1e9cc7b2eabc -r 059dcdda37c5 demo/eps_demo.cc
--- a/demo/eps_demo.cc Wed Sep 26 14:37:48 2007 +0000
+++ b/demo/eps_demo.cc Thu Sep 27 13:04:06 2007 +0000
@@ -18,12 +18,12 @@
/// \ingroup demos
/// \file
-/// \brief Demo of the EPS grawing class \ref EpsDrawer()
+/// \brief Demo of the EPS grawing class \ref lemon::EpsDrawer "EpsDrawer".
///
/// This demo program shows examples how to use the class \ref
-/// EpsDrawer(). It takes no input but simply creates a file
-/// eps_demo.eps demonstrating the capability of \ref
-/// EpsDrawer().
+/// lemon::EpsDrawer "EpsDrawer". It takes no input but simply creates
+/// a file eps_demo.eps demonstrating the capability of \ref
+/// lemon::EpsDrawer "EpsDrawer".
///
/// \include eps_demo.cc
diff -r 1e9cc7b2eabc -r 059dcdda37c5 doc/algorithms.dox
--- a/doc/algorithms.dox Wed Sep 26 14:37:48 2007 +0000
+++ b/doc/algorithms.dox Thu Sep 27 13:04:06 2007 +0000
@@ -114,7 +114,7 @@
will be done through it.
\skip MyOrdererMap
\until };
-The class meets the \ref lemon::WriteMap "WriteMap" concept. In it's \c set() method the only thing
+The class meets the \ref concepts::WriteMap "WriteMap" concept. In it's \c set() method the only thing
we need to do is insert the key - that is the node whose processing just finished - into the beginning
of the list.
Although we implemented this needed helper class ourselves it was not necessary.
diff -r 1e9cc7b2eabc -r 059dcdda37c5 doc/basic_concepts.dox
--- a/doc/basic_concepts.dox Wed Sep 26 14:37:48 2007 +0000
+++ b/doc/basic_concepts.dox Thu Sep 27 13:04:06 2007 +0000
@@ -29,7 +29,7 @@
different classes for different purposes. They can differ in many ways, but all
have to satisfy one or more \ref concept "graph concepts" which are standardized
interfaces to work with the rest of the library. The most basic concept is the
-\ref Graph.
+\ref concepts::Graph "Graph".
A good example is the \ref ListGraph which we already know from Hello World and
will be used in our examples as well.
@@ -47,7 +47,7 @@
If the graph fits the ExtendableGraphComponent concept, then you can add new nodes
to the graph with the addNode() member function. It returns the newly added node
(as value). So if you need the new node to do something useful with, for example
-create an edge, assign a value to it through \ref map1 maps.
+create an edge, assign a value to it through \ref maps1 maps.
\code lemon::ListGraph::Node new_node = graph.addNode(); \endcode
If the graph fits into the ErasableGraphComponent concept you can also remove nodes
@@ -114,8 +114,10 @@
graph class described above. (There is a powerful technique using maps right in
the next page.)
-The \ref EdgeIt works exactly the same - nothing more to say. But there are \ref InEdgeIt
-and \ref OutEdgeIt by directed graphs and \ref IncEdgeIt by undirected graphs.
+The \ref concepts::Graph::EdgeIt "EdgeIt" works exactly the same - nothing more to say.
+But there are \ref concepts::Graph::InEdgeIt "InEdgeIt" and
+\ref concepts::Graph::OutEdgeIt "OutEdgeIt" by directed graphs and
+\ref concepts::UGraph::IncEdgeIt "IncEdgeIt" by undirected graphs.
They take two arguments. The first is a graph, the second is certain node of the
graph. InEdgeIt iterates on the incoming edges of that node and OutEdgeIt does it
on the outgoing edges. The IncEdgeIt of course iterates every edge connecting to
diff -r 1e9cc7b2eabc -r 059dcdda37c5 doc/graphs.dox
--- a/doc/graphs.dox Wed Sep 26 14:37:48 2007 +0000
+++ b/doc/graphs.dox Thu Sep 27 13:04:06 2007 +0000
@@ -16,8 +16,9 @@
*
*/
+namespace lemon {
+
/*!
-
\page graphs Graphs
\todo Write a new Graphs page. I think it should be contain the Graph,
@@ -29,39 +30,37 @@
functionalities to list the nodes and the edges of the graph as well
as incoming and outgoing edges of a given node.
-Each graph should meet the \ref lemon::concepts::Graph "Graph" concept.
+Each graph should meet the \ref concepts::Graph "Graph" concept.
This concept does not make it possible to change the graph (i.e. it is
not possible to add or delete edges or nodes). Most of the graph
algorithms will run on these graphs.
In case of graphs meeting the full feature
-\ref lemon::concepts::ErasableGraph "ErasableGraph"
-concept
+\ref concepts::ErasableGraph "ErasableGraph" concept
you can also erase individual edges and nodes in arbitrary order.
The implemented graph structures are the following.
-\li \ref lemon::ListGraph "ListGraph" is the most versatile graph class. It meets
-the \ref lemon::concepts::ErasableGraph "ErasableGraph" concept
+\li \ref ListGraph is the most versatile graph class. It meets
+the \ref concepts::ErasableGraph "ErasableGraph" concept
and it also has some convenient extra features.
-\li \ref lemon::SmartGraph "SmartGraph" is a more memory
-efficient version of \ref lemon::ListGraph "ListGraph". The
-price of this is that it only meets the
-\ref lemon::concepts::ExtendableGraph "ExtendableGraph" concept,
+\li \ref SmartGraph is a more memory efficient version of \ref ListGraph.
+The price of this is that it only meets the
+\ref concepts::ExtendableGraph "ExtendableGraph" concept,
so you cannot delete individual edges or nodes.
-\li \ref lemon::FullGraph "FullGraph"
+\li \ref FullGraph "FullGraph"
implements a complete graph. It is a
-\ref lemon::concepts::Graph "Graph", so you cannot
+\ref concepts::Graph "Graph", so you cannot
change the number of nodes once it is constructed. It is extremely memory
efficient: it uses constant amount of memory independently from the number of
the nodes of the graph. Of course, the size of the \ref maps-page "NodeMap"'s and
\ref maps-page "EdgeMap"'s will depend on the number of nodes.
-\li \ref lemon::NodeSet "NodeSet" implements a graph with no edges. This class
+\li \ref NodeSet "NodeSet" implements a graph with no edges. This class
can be used as a base class of \ref lemon::EdgeSet "EdgeSet".
-\li \ref lemon::EdgeSet "EdgeSet" can be used to create a new graph on
+\li \ref EdgeSet "EdgeSet" can be used to create a new graph on
the node set of another graph. The base graph can be an arbitrary graph and it
-is possible to attach several \ref lemon::EdgeSet "EdgeSet"'s to a base graph.
+is possible to attach several \ref EdgeSet "EdgeSet"'s to a base graph.
\todo Don't we need SmartNodeSet and SmartEdgeSet?
\todo Some cross-refs are wrong.
@@ -120,7 +119,7 @@
node iterator to initialize it to the first node. The operator++ is used to
step to the next node. Using operator++ on the iterator pointing to the last
node invalidates the iterator i.e. sets its value to
-\ref lemon::INVALID "INVALID". This is what we exploit in the stop condition.
+\ref INVALID. This is what we exploit in the stop condition.
The previous code fragment prints out the following:
@@ -200,3 +199,6 @@
your own maps. You can read more about using maps \ref maps-page "here".
*/
+
+}
+
diff -r 1e9cc7b2eabc -r 059dcdda37c5 doc/maps1.dox
--- a/doc/maps1.dox Wed Sep 26 14:37:48 2007 +0000
+++ b/doc/maps1.dox Thu Sep 27 13:04:06 2007 +0000
@@ -16,6 +16,8 @@
*
*/
+namespace lemon {
+
/**
\page maps1 Maps I.
@@ -34,22 +36,24 @@
To make easy to use them - especially as template parameters - there are map concepts like by graph classes.
-- \ref ReadMap - values can be read out with the \c operator[].
+
- \ref concepts::ReadMap "ReadMap" - values can be read out with the \c operator[].
\code value_typed_variable = map_instance[key_value]; \endcode
-- \ref WriteMap - values can be set with the \c set() member function.
+
- \ref concepts::WriteMap "WriteMap" - values can be set with the \c set() member function.
\code map_instance.set(key_value, value_typed_expression); \endcode
-- \ref ReadWriteMap - it's just a shortcut to indicate that the map is both
+
- \ref concepts::ReadWriteMap "ReadWriteMap" - it's just a shortcut to indicate that the map is both
readable and writable. It is delivered from them.
-- \ref ReferenceMap - a subclass of ReadWriteMap. It has two additional typedefs
+
- \ref concepts::ReferenceMap "ReferenceMap" - a subclass of ReadWriteMap. It has two additional typedefs
Reference and ConstReference and two overloads of \c operator[] to
providing you constant or non-constant reference to the value belonging to a key,
so you have a direct access to the memory address where it is stored.
- And there are the Matrix version of these maps, where the values are assigned to a pair of keys.
-The keys can be different types. (\ref ReadMatrixMap, \ref WriteMatrixMap, \ref ReadWriteMatrixMap, \ref ReferenceMatrixMap)
+The keys can be different types. (\ref concepts::ReadMatrixMap "ReadMatrixMap",
+\ref concepts::WriteMatrixMap "WriteMatrixMap", \ref concepts::ReadWriteMatrixMap "ReadWriteMatrixMap",
+\ref concepts::ReferenceMatrixMap "ReferenceMatrixMap")
@@ -88,3 +92,5 @@
(coming soon) and will use maps hardly.
Or if you want to know more about maps read these \ref maps2 "advanced map techniques".
*/
+
+}
diff -r 1e9cc7b2eabc -r 059dcdda37c5 lemon/bellman_ford.h
--- a/lemon/bellman_ford.h Wed Sep 26 14:37:48 2007 +0000
+++ b/lemon/bellman_ford.h Thu Sep 27 13:04:06 2007 +0000
@@ -432,7 +432,7 @@
/// \warning The paths with limited edge number cannot be retrieved
/// easily with \ref path() or \ref predEdge() functions. If you
/// need the shortest path and not just the distance you should store
- /// after each iteration the \ref predEdgeMap() map and manually build
+ /// after each iteration the \ref predMap() map and manually build
/// the path.
///
/// \return %True when the algorithm have not found more shorter
@@ -545,7 +545,7 @@
/// \warning The paths with limited edge number cannot be retrieved
/// easily with \ref path() or \ref predEdge() functions. If you
/// need the shortest path and not just the distance you should store
- /// after each iteration the \ref predEdgeMap() map and manually build
+ /// after each iteration the \ref predMap() map and manually build
/// the path.
///
/// The algorithm computes
@@ -951,7 +951,7 @@
/// \brief Runs BellmanFord algorithm from the given node.
///
/// Runs BellmanFord algorithm from the given node.
- /// \param source is the given source.
+ /// \param src is the given source.
void run(Node src) {
Base::_source = src;
run();
@@ -1016,7 +1016,7 @@
/// \brief Sets the source node, from which the BellmanFord algorithm runs.
///
/// Sets the source node, from which the BellmanFord algorithm runs.
- /// \param source is the source node.
+ /// \param src is the source node.
BellmanFordWizard<_Traits>& source(Node src) {
Base::_source = src;
return *this;
diff -r 1e9cc7b2eabc -r 059dcdda37c5 lemon/bfs.h
--- a/lemon/bfs.h Wed Sep 26 14:37:48 2007 +0000
+++ b/lemon/bfs.h Thu Sep 27 13:04:06 2007 +0000
@@ -593,9 +593,8 @@
///with addSource() before using this function.
///
///This method runs the %BFS algorithm from the root node(s)
- ///in order to
- ///compute the
- ///shortest path to \c dest. The algorithm computes
+ ///in order to compute the shortest path to \c dest.
+ ///The algorithm computes
///- The shortest path to \c dest.
///- The distance of \c dest from the root(s).
void start(Node dest)
@@ -615,7 +614,7 @@
///algorithm will stop when it reaches a node \c v with
/// nm[v] true.
///
- ///\return The reached node \c v with nm[v]<\tt> true or
+ ///\return The reached node \c v with nm[v] true or
///\c INVALID if no such node was found.
template
Node start(const NM &nm)
@@ -1517,7 +1516,7 @@
///algorithm will stop when it reaches a node \c v with
/// nm[v] true.
///
- ///\return The reached node \c v with nm[v]<\tt> true or
+ ///\return The reached node \c v with nm[v] true or
///\c INVALID if no such node was found.
template
Node start(const NM &nm) {
diff -r 1e9cc7b2eabc -r 059dcdda37c5 lemon/dfs.h
--- a/lemon/dfs.h Wed Sep 26 14:37:48 2007 +0000
+++ b/lemon/dfs.h Thu Sep 27 13:04:06 2007 +0000
@@ -564,9 +564,9 @@
///with addSource() before using this function.
///
///\param em must be a bool (or convertible) edge map. The algorithm
- ///will stop when it reaches an edge \c e with em[e]<\tt> true.
+ ///will stop when it reaches an edge \c e with em[e] true.
///
- ///\return The reached edge \c e with em[e]<\tt> true or
+ ///\return The reached edge \c e with em[e] true or
///\c INVALID if no such edge was found.
///
///\warning Contrary to \ref Bfs and \ref Dijkstra, \c em is an edge map,
@@ -1458,9 +1458,9 @@
/// with addSource() before using this function.
///
/// \param em must be a bool (or convertible) edge map. The algorithm
- /// will stop when it reaches an edge \c e with em[e]<\tt> true.
+ /// will stop when it reaches an edge \c e with em[e] true.
///
- ///\return The reached edge \c e with em[e]<\tt> true or
+ ///\return The reached edge \c e with em[e] true or
///\c INVALID if no such edge was found.
///
/// \warning Contrary to \ref Bfs and \ref Dijkstra, \c em is an edge map,
diff -r 1e9cc7b2eabc -r 059dcdda37c5 lemon/dijkstra.h
--- a/lemon/dijkstra.h Wed Sep 26 14:37:48 2007 +0000
+++ b/lemon/dijkstra.h Thu Sep 27 13:04:06 2007 +0000
@@ -665,7 +665,7 @@
///\param nm must be a bool (or convertible) node map. The algorithm
///will stop when it reaches a node \c v with nm[v] true.
///
- ///\return The reached node \c v with nm[v]<\tt> true or
+ ///\return The reached node \c v with nm[v] true or
///\c INVALID if no such node was found.
template
Node start(const NodeBoolMap &nm)
diff -r 1e9cc7b2eabc -r 059dcdda37c5 lemon/error.h
--- a/lemon/error.h Wed Sep 26 14:37:48 2007 +0000
+++ b/lemon/error.h Thu Sep 27 13:04:06 2007 +0000
@@ -634,7 +634,7 @@
/// parameter is false the assertion is raised and one of the assertion
/// behaviour will be activated. The \c msg should be either a const
/// char* message or an exception. When the \c msg is an exception the
-/// \ref "Exception::what" what() function is called to retrieve and
+/// \ref lemon::Exception::what() "what()" function is called to retrieve and
/// display the error message.
///
/// \todo We should provide some way to reset to the default behaviour,
diff -r 1e9cc7b2eabc -r 059dcdda37c5 lemon/graph_utils.h
--- a/lemon/graph_utils.h Wed Sep 26 14:37:48 2007 +0000
+++ b/lemon/graph_utils.h Thu Sep 27 13:04:06 2007 +0000
@@ -372,7 +372,7 @@
///\endcode
///
///\sa EdgeLookUp
- ///\se AllEdgeLookUp
+ ///\sa AllEdgeLookUp
///\sa ConEdgeIt
template
inline typename Graph::Edge
diff -r 1e9cc7b2eabc -r 059dcdda37c5 lemon/lemon_reader.h
--- a/lemon/lemon_reader.h Wed Sep 26 14:37:48 2007 +0000
+++ b/lemon/lemon_reader.h Thu Sep 27 13:04:06 2007 +0000
@@ -1128,7 +1128,7 @@
///
/// It gives back true when the header line starts with \c \@edgeset,
/// and the header line's name and the edgeset's name are the same.
- /// The sections with @uedgeset head line could be read with this
+ /// The sections with \@uedgeset head line could be read with this
/// section reader too.
virtual bool header(const std::string& line) {
std::istringstream ls(line);
@@ -1437,7 +1437,7 @@
///
/// It gives back true when the header line starts with \c \@uedgeset,
/// and the header line's name and the edgeset's name are the same.
- /// The sections with @edgeset head line could be read with this
+ /// The sections with \@edgeset head line could be read with this
/// section reader too.
virtual bool header(const std::string& line) {
std::istringstream ls(line);