# 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. @@ -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);