Changeset 2476:059dcdda37c5 in lemon-0.x
- Timestamp:
- 09/27/07 15:04:06 (17 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@3315
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
demo/eps_demo.cc
r2391 r2476 19 19 /// \ingroup demos 20 20 /// \file 21 /// \brief Demo of the EPS grawing class \ref EpsDrawer()21 /// \brief Demo of the EPS grawing class \ref lemon::EpsDrawer "EpsDrawer". 22 22 /// 23 23 /// This demo program shows examples how to use the class \ref 24 /// EpsDrawer(). It takes no input but simply creates a file25 /// <tt>eps_demo.eps</tt> demonstrating the capability of \ref26 /// EpsDrawer().24 /// lemon::EpsDrawer "EpsDrawer". It takes no input but simply creates 25 /// a file <tt>eps_demo.eps</tt> demonstrating the capability of \ref 26 /// lemon::EpsDrawer "EpsDrawer". 27 27 /// 28 28 /// \include eps_demo.cc -
doc/algorithms.dox
r2470 r2476 115 115 \skip MyOrdererMap 116 116 \until }; 117 The class meets the \ref lemon::WriteMap "WriteMap" concept. In it's \c set() method the only thing117 The class meets the \ref concepts::WriteMap "WriteMap" concept. In it's \c set() method the only thing 118 118 we need to do is insert the key - that is the node whose processing just finished - into the beginning 119 119 of the list.<br> -
doc/basic_concepts.dox
r2391 r2476 30 30 have to satisfy one or more \ref concept "graph concepts" which are standardized 31 31 interfaces to work with the rest of the library. The most basic concept is the 32 \ref Graph.<br>32 \ref concepts::Graph "Graph".<br> 33 33 A good example is the \ref ListGraph which we already know from Hello World and 34 34 will be used in our examples as well. … … 48 48 to the graph with the addNode() member function. It returns the newly added node 49 49 (as value). So if you need the new node to do something useful with, for example 50 create an edge, assign a value to it through \ref map 1 maps.50 create an edge, assign a value to it through \ref maps1 maps. 51 51 \code lemon::ListGraph::Node new_node = graph.addNode(); \endcode 52 52 … … 115 115 the next page.) 116 116 117 The \ref EdgeIt works exactly the same - nothing more to say. But there are \ref InEdgeIt 118 and \ref OutEdgeIt by directed graphs and \ref IncEdgeIt by undirected graphs. 117 The \ref concepts::Graph::EdgeIt "EdgeIt" works exactly the same - nothing more to say. 118 But there are \ref concepts::Graph::InEdgeIt "InEdgeIt" and 119 \ref concepts::Graph::OutEdgeIt "OutEdgeIt" by directed graphs and 120 \ref concepts::UGraph::IncEdgeIt "IncEdgeIt" by undirected graphs. 119 121 They take two arguments. The first is a graph, the second is certain node of the 120 122 graph. InEdgeIt iterates on the incoming edges of that node and OutEdgeIt does it -
doc/graphs.dox
r2391 r2476 17 17 */ 18 18 19 namespace lemon { 20 19 21 /*! 20 21 22 \page graphs Graphs 22 23 … … 30 31 as incoming and outgoing edges of a given node. 31 32 32 Each graph should meet the \ref lemon::concepts::Graph "Graph" concept.33 Each graph should meet the \ref concepts::Graph "Graph" concept. 33 34 This concept does not make it possible to change the graph (i.e. it is 34 35 not possible to add or delete edges or nodes). Most of the graph … … 37 38 38 39 In case of graphs meeting the full feature 39 \ref lemon::concepts::ErasableGraph "ErasableGraph" 40 concept 40 \ref concepts::ErasableGraph "ErasableGraph" concept 41 41 you can also erase individual edges and nodes in arbitrary order. 42 42 43 43 The implemented graph structures are the following. 44 \li \ref lemon::ListGraph "ListGraph"is the most versatile graph class. It meets45 the \ref lemon::concepts::ErasableGraph "ErasableGraph" concept44 \li \ref ListGraph is the most versatile graph class. It meets 45 the \ref concepts::ErasableGraph "ErasableGraph" concept 46 46 and it also has some convenient extra features. 47 \li \ref lemon::SmartGraph "SmartGraph" is a more memory 48 efficient version of \ref lemon::ListGraph "ListGraph". The 49 price of this is that it only meets the 50 \ref lemon::concepts::ExtendableGraph "ExtendableGraph" concept, 47 \li \ref SmartGraph is a more memory efficient version of \ref ListGraph. 48 The price of this is that it only meets the 49 \ref concepts::ExtendableGraph "ExtendableGraph" concept, 51 50 so you cannot delete individual edges or nodes. 52 \li \ref lemon::FullGraph "FullGraph"51 \li \ref FullGraph "FullGraph" 53 52 implements a complete graph. It is a 54 \ref lemon::concepts::Graph "Graph", so you cannot53 \ref concepts::Graph "Graph", so you cannot 55 54 change the number of nodes once it is constructed. It is extremely memory 56 55 efficient: it uses constant amount of memory independently from the number of … … 58 57 \ref maps-page "EdgeMap"'s will depend on the number of nodes. 59 58 60 \li \ref lemon::NodeSet "NodeSet" implements a graph with no edges. This class59 \li \ref NodeSet "NodeSet" implements a graph with no edges. This class 61 60 can be used as a base class of \ref lemon::EdgeSet "EdgeSet". 62 \li \ref lemon::EdgeSet "EdgeSet" can be used to create a new graph on61 \li \ref EdgeSet "EdgeSet" can be used to create a new graph on 63 62 the node set of another graph. The base graph can be an arbitrary graph and it 64 is possible to attach several \ref lemon::EdgeSet "EdgeSet"'s to a base graph.63 is possible to attach several \ref EdgeSet "EdgeSet"'s to a base graph. 65 64 66 65 \todo Don't we need SmartNodeSet and SmartEdgeSet? … … 121 120 step to the next node. Using operator++ on the iterator pointing to the last 122 121 node invalidates the iterator i.e. sets its value to 123 \ref lemon::INVALID "INVALID". This is what we exploit in the stop condition.122 \ref INVALID. This is what we exploit in the stop condition. 124 123 125 124 The previous code fragment prints out the following: … … 201 200 202 201 */ 202 203 } 204 -
doc/maps1.dox
r2408 r2476 16 16 * 17 17 */ 18 19 namespace lemon { 18 20 19 21 /** … … 35 37 To make easy to use them - especially as template parameters - there are <i>map concepts</i> like by graph classes. 36 38 <ul> 37 <li>\ref ReadMap- values can be read out with the \c operator[].39 <li>\ref concepts::ReadMap "ReadMap" - values can be read out with the \c operator[]. 38 40 \code value_typed_variable = map_instance[key_value]; \endcode 39 41 </li> 40 <li>\ref WriteMap- values can be set with the \c set() member function.42 <li>\ref concepts::WriteMap "WriteMap" - values can be set with the \c set() member function. 41 43 \code map_instance.set(key_value, value_typed_expression); \endcode 42 44 </li> 43 <li>\ref ReadWriteMap- it's just a shortcut to indicate that the map is both45 <li>\ref concepts::ReadWriteMap "ReadWriteMap" - it's just a shortcut to indicate that the map is both 44 46 readable and writable. It is delivered from them. 45 47 </li> 46 <li>\ref ReferenceMap- a subclass of ReadWriteMap. It has two additional typedefs48 <li>\ref concepts::ReferenceMap "ReferenceMap" - a subclass of ReadWriteMap. It has two additional typedefs 47 49 <i>Reference</i> and <i>ConstReference</i> and two overloads of \c operator[] to 48 50 providing you constant or non-constant reference to the value belonging to a key, … … 50 52 </li> 51 53 <li>And there are the Matrix version of these maps, where the values are assigned to a pair of keys. 52 The keys can be different types. (\ref ReadMatrixMap, \ref WriteMatrixMap, \ref ReadWriteMatrixMap, \ref ReferenceMatrixMap) 54 The keys can be different types. (\ref concepts::ReadMatrixMap "ReadMatrixMap", 55 \ref concepts::WriteMatrixMap "WriteMatrixMap", \ref concepts::ReadWriteMatrixMap "ReadWriteMatrixMap", 56 \ref concepts::ReferenceMatrixMap "ReferenceMatrixMap") 53 57 </li> 54 58 </ul> … … 89 93 Or if you want to know more about maps read these \ref maps2 "advanced map techniques". 90 94 */ 95 96 } -
lemon/bellman_ford.h
r2408 r2476 433 433 /// easily with \ref path() or \ref predEdge() functions. If you 434 434 /// need the shortest path and not just the distance you should store 435 /// after each iteration the \ref pred EdgeMap() map and manually build435 /// after each iteration the \ref predMap() map and manually build 436 436 /// the path. 437 437 /// … … 546 546 /// easily with \ref path() or \ref predEdge() functions. If you 547 547 /// need the shortest path and not just the distance you should store 548 /// after each iteration the \ref pred EdgeMap() map and manually build548 /// after each iteration the \ref predMap() map and manually build 549 549 /// the path. 550 550 /// … … 952 952 /// 953 953 /// Runs BellmanFord algorithm from the given node. 954 /// \param s ourceis the given source.954 /// \param src is the given source. 955 955 void run(Node src) { 956 956 Base::_source = src; … … 1017 1017 /// 1018 1018 /// Sets the source node, from which the BellmanFord algorithm runs. 1019 /// \param s ourceis the source node.1019 /// \param src is the source node. 1020 1020 BellmanFordWizard<_Traits>& source(Node src) { 1021 1021 Base::_source = src; -
lemon/bfs.h
r2443 r2476 594 594 /// 595 595 ///This method runs the %BFS algorithm from the root node(s) 596 ///in order to 597 ///compute the 598 ///shortest path to \c dest. The algorithm computes 596 ///in order to compute the shortest path to \c dest. 597 ///The algorithm computes 599 598 ///- The shortest path to \c dest. 600 599 ///- The distance of \c dest from the root(s). … … 616 615 /// <tt>nm[v]</tt> true. 617 616 /// 618 ///\return The reached node \c v with <tt>nm[v]< \tt> true or617 ///\return The reached node \c v with <tt>nm[v]</tt> true or 619 618 ///\c INVALID if no such node was found. 620 619 template<class NM> … … 1518 1517 /// <tt>nm[v]</tt> true. 1519 1518 /// 1520 ///\return The reached node \c v with <tt>nm[v]< \tt> true or1519 ///\return The reached node \c v with <tt>nm[v]</tt> true or 1521 1520 ///\c INVALID if no such node was found. 1522 1521 template <typename NM> -
lemon/dfs.h
r2443 r2476 565 565 /// 566 566 ///\param em must be a bool (or convertible) edge map. The algorithm 567 ///will stop when it reaches an edge \c e with <tt>em[e]< \tt> true.568 /// 569 ///\return The reached edge \c e with <tt>em[e]< \tt> true or567 ///will stop when it reaches an edge \c e with <tt>em[e]</tt> true. 568 /// 569 ///\return The reached edge \c e with <tt>em[e]</tt> true or 570 570 ///\c INVALID if no such edge was found. 571 571 /// … … 1459 1459 /// 1460 1460 /// \param em must be a bool (or convertible) edge map. The algorithm 1461 /// will stop when it reaches an edge \c e with <tt>em[e]< \tt> true.1462 /// 1463 ///\return The reached edge \c e with <tt>em[e]< \tt> true or1461 /// will stop when it reaches an edge \c e with <tt>em[e]</tt> true. 1462 /// 1463 ///\return The reached edge \c e with <tt>em[e]</tt> true or 1464 1464 ///\c INVALID if no such edge was found. 1465 1465 /// -
lemon/dijkstra.h
r2443 r2476 666 666 ///will stop when it reaches a node \c v with <tt>nm[v]</tt> true. 667 667 /// 668 ///\return The reached node \c v with <tt>nm[v]< \tt> true or668 ///\return The reached node \c v with <tt>nm[v]</tt> true or 669 669 ///\c INVALID if no such node was found. 670 670 template<class NodeBoolMap> -
lemon/error.h
r2410 r2476 635 635 /// behaviour will be activated. The \c msg should be either a const 636 636 /// char* message or an exception. When the \c msg is an exception the 637 /// \ref "Exception::what" what()function is called to retrieve and637 /// \ref lemon::Exception::what() "what()" function is called to retrieve and 638 638 /// display the error message. 639 639 /// -
lemon/graph_utils.h
r2474 r2476 373 373 /// 374 374 ///\sa EdgeLookUp 375 ///\s eAllEdgeLookUp375 ///\sa AllEdgeLookUp 376 376 ///\sa ConEdgeIt 377 377 template <typename Graph> -
lemon/lemon_reader.h
r2467 r2476 1129 1129 /// It gives back true when the header line starts with \c \@edgeset, 1130 1130 /// and the header line's name and the edgeset's name are the same. 1131 /// The sections with @uedgeset head line could be read with this1131 /// The sections with \@uedgeset head line could be read with this 1132 1132 /// section reader too. 1133 1133 virtual bool header(const std::string& line) { … … 1438 1438 /// It gives back true when the header line starts with \c \@uedgeset, 1439 1439 /// and the header line's name and the edgeset's name are the same. 1440 /// The sections with @edgeset head line could be read with this1440 /// The sections with \@edgeset head line could be read with this 1441 1441 /// section reader too. 1442 1442 virtual bool header(const std::string& line) {
Note: See TracChangeset
for help on using the changeset viewer.