Changes in / [792:a2d5fd4c309a:791:4e3484a2e90c] in lemon-main
- Files:
-
- 28 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/min_cost_flow.dox
r788 r755 79 79 - if \f$cost^\pi(uv)<0\f$, then \f$f(uv)=upper(uv)\f$. 80 80 - For all \f$u\in V\f$ nodes: 81 - \f$\pi(u) \leq0\f$;81 - \f$\pi(u)<=0\f$; 82 82 - if \f$\sum_{uv\in A} f(uv) - \sum_{vu\in A} f(vu) \neq sup(u)\f$, 83 83 then \f$\pi(u)=0\f$. … … 146 146 - if \f$cost^\pi(uv)<0\f$, then \f$f(uv)=upper(uv)\f$. 147 147 - For all \f$u\in V\f$ nodes: 148 - \f$\pi(u) \geq0\f$;148 - \f$\pi(u)>=0\f$; 149 149 - if \f$\sum_{uv\in A} f(uv) - \sum_{vu\in A} f(vu) \neq sup(u)\f$, 150 150 then \f$\pi(u)=0\f$. -
lemon/adaptors.h
r787 r656 361 361 /// parameter is set to be \c const. 362 362 /// 363 /// This class provides item counting in the same time as the adapted364 /// digraph structure.365 ///366 363 /// \tparam DGR The type of the adapted digraph. 367 364 /// It must conform to the \ref concepts::Digraph "Digraph" concept. … … 722 719 /// by adding or removing nodes or arcs, unless the \c GR template 723 720 /// parameter is set to be \c const. 724 ///725 /// This class provides only linear time counting for nodes and arcs.726 721 /// 727 722 /// \tparam DGR The type of the adapted digraph. … … 1320 1315 /// parameter is set to be \c const. 1321 1316 /// 1322 /// This class provides only linear time counting for nodes, edges and arcs.1323 ///1324 1317 /// \tparam GR The type of the adapted graph. 1325 1318 /// It must conform to the \ref concepts::Graph "Graph" concept. … … 1478 1471 /// by adding or removing nodes or arcs/edges, unless the \c GR template 1479 1472 /// parameter is set to be \c const. 1480 ///1481 /// This class provides only linear time item counting.1482 1473 /// 1483 1474 /// \tparam GR The type of the adapted digraph or graph. … … 1629 1620 /// parameter is set to be \c const. 1630 1621 /// 1631 /// This class provides only linear time counting for nodes and arcs.1632 ///1633 1622 /// \tparam DGR The type of the adapted digraph. 1634 1623 /// It must conform to the \ref concepts::Digraph "Digraph" concept. … … 1740 1729 /// by adding or removing nodes or edges, unless the \c GR template 1741 1730 /// parameter is set to be \c const. 1742 ///1743 /// This class provides only linear time counting for nodes, edges and arcs.1744 1731 /// 1745 1732 /// \tparam GR The type of the adapted graph. … … 2246 2233 /// parameter is set to be \c const. 2247 2234 /// 2248 /// This class provides item counting in the same time as the adapted2249 /// digraph structure.2250 ///2251 2235 /// \tparam DGR The type of the adapted digraph. 2252 2236 /// It must conform to the \ref concepts::Digraph "Digraph" concept. … … 2551 2535 /// by adding or removing nodes or arcs, unless the \c GR template 2552 2536 /// parameter is set to be \c const. 2553 ///2554 /// This class provides item counting in the same time as the adapted2555 /// graph structure.2556 2537 /// 2557 2538 /// \tparam GR The type of the adapted graph. … … 2697 2678 /// arcs). 2698 2679 /// This class conforms to the \ref concepts::Digraph "Digraph" concept. 2699 ///2700 /// This class provides only linear time counting for nodes and arcs.2701 2680 /// 2702 2681 /// \tparam DGR The type of the adapted digraph. … … 3347 3326 /// in the adaptor. 3348 3327 /// 3349 /// This class provides item counting in the same time as the adapted3350 /// digraph structure.3351 ///3352 3328 /// \tparam DGR The type of the adapted digraph. 3353 3329 /// It must conform to the \ref concepts::Digraph "Digraph" concept. -
lemon/bellman_ford.h
r788 r781 301 301 /// \ref named-templ-param "Named parameter" for setting 302 302 /// \c OperationTraits type. 303 /// For more information ,see \ref BellmanFordDefaultOperationTraits.303 /// For more information see \ref BellmanFordDefaultOperationTraits. 304 304 template <class T> 305 305 struct SetOperationTraits … … 719 719 /// 720 720 /// The shortest path tree used here is equal to the shortest path 721 /// tree used in \ref predNode() and \ refpredMap().721 /// tree used in \ref predNode() and \predMap(). 722 722 /// 723 723 /// \pre Either \ref run() or \ref init() must be called before … … 734 734 /// 735 735 /// The shortest path tree used here is equal to the shortest path 736 /// tree used in \ref predArc() and \ refpredMap().736 /// tree used in \ref predArc() and \predMap(). 737 737 /// 738 738 /// \pre Either \ref run() or \ref init() must be called before -
lemon/bfs.h
r788 r717 64 64 ///The type of the map that indicates which nodes are processed. 65 65 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 66 ///By default ,it is a NullMap.66 ///By default it is a NullMap. 67 67 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 68 68 ///Instantiates a \c ProcessedMap. … … 702 702 ///Runs the algorithm to visit all nodes in the digraph. 703 703 704 ///This method runs the %BFS algorithm in order to visit all nodes 705 ///in the digraph. 704 ///This method runs the %BFS algorithm in order to 705 ///compute the shortest path to each node. 706 /// 707 ///The algorithm computes 708 ///- the shortest path tree (forest), 709 ///- the distance of each node from the root(s). 706 710 /// 707 711 ///\note <tt>b.run(s)</tt> is just a shortcut of the following code. … … 849 853 ///The type of the map that indicates which nodes are processed. 850 854 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 851 ///By default ,it is a NullMap.855 ///By default it is a NullMap. 852 856 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 853 857 ///Instantiates a ProcessedMap. … … 1043 1047 ///Runs BFS algorithm to visit all nodes in the digraph. 1044 1048 1045 ///This method runs BFS algorithm in order to visit all nodes1046 /// in the digraph.1049 ///This method runs BFS algorithm in order to compute 1050 ///the shortest path to each node. 1047 1051 void run() 1048 1052 { … … 1692 1696 /// \brief Runs the algorithm to visit all nodes in the digraph. 1693 1697 /// 1694 /// This method runs the %BFS algorithm in order to visit all nodes 1695 /// in the digraph. 1698 /// This method runs the %BFS algorithm in order to 1699 /// compute the shortest path to each node. 1700 /// 1701 /// The algorithm computes 1702 /// - the shortest path tree (forest), 1703 /// - the distance of each node from the root(s). 1696 1704 /// 1697 1705 /// \note <tt>b.run(s)</tt> is just a shortcut of the following code. -
lemon/circulation.h
r786 r715 307 307 /// able to automatically created by the algorithm (i.e. the 308 308 /// digraph and the maximum level should be passed to it). 309 /// However ,an external elevator object could also be passed to the309 /// However an external elevator object could also be passed to the 310 310 /// algorithm with the \ref elevator(Elevator&) "elevator()" function 311 311 /// before calling \ref run() or \ref init(). -
lemon/concepts/digraph.h
r786 r734 108 108 109 109 /// This iterator goes through each node of the digraph. 110 /// Its usage is quite simple, for example ,you can count the number110 /// Its usage is quite simple, for example you can count the number 111 111 /// of nodes in a digraph \c g of type \c %Digraph like this: 112 112 ///\code … … 197 197 /// This iterator goes trough the \e outgoing arcs of a certain node 198 198 /// of a digraph. 199 /// Its usage is quite simple, for example ,you can count the number199 /// Its usage is quite simple, for example you can count the number 200 200 /// of outgoing arcs of a node \c n 201 201 /// in a digraph \c g of type \c %Digraph as follows. … … 242 242 /// This iterator goes trough the \e incoming arcs of a certain node 243 243 /// of a digraph. 244 /// Its usage is quite simple, for example ,you can count the number244 /// Its usage is quite simple, for example you can count the number 245 245 /// of incoming arcs of a node \c n 246 246 /// in a digraph \c g of type \c %Digraph as follows. … … 286 286 287 287 /// This iterator goes through each arc of the digraph. 288 /// Its usage is quite simple, for example ,you can count the number288 /// Its usage is quite simple, for example you can count the number 289 289 /// of arcs in a digraph \c g of type \c %Digraph as follows: 290 290 ///\code -
lemon/concepts/graph.h
r786 r734 141 141 142 142 /// This iterator goes through each node of the graph. 143 /// Its usage is quite simple, for example ,you can count the number143 /// Its usage is quite simple, for example you can count the number 144 144 /// of nodes in a graph \c g of type \c %Graph like this: 145 145 ///\code … … 229 229 230 230 /// This iterator goes through each edge of the graph. 231 /// Its usage is quite simple, for example ,you can count the number231 /// Its usage is quite simple, for example you can count the number 232 232 /// of edges in a graph \c g of type \c %Graph as follows: 233 233 ///\code … … 273 273 /// This iterator goes trough the incident undirected edges 274 274 /// of a certain node of a graph. 275 /// Its usage is quite simple, for example ,you can compute the275 /// Its usage is quite simple, for example you can compute the 276 276 /// degree (i.e. the number of incident edges) of a node \c n 277 277 /// in a graph \c g of type \c %Graph as follows. … … 370 370 371 371 /// This iterator goes through each directed arc of the graph. 372 /// Its usage is quite simple, for example ,you can count the number372 /// Its usage is quite simple, for example you can count the number 373 373 /// of arcs in a graph \c g of type \c %Graph as follows: 374 374 ///\code … … 414 414 /// This iterator goes trough the \e outgoing directed arcs of a 415 415 /// certain node of a graph. 416 /// Its usage is quite simple, for example ,you can count the number416 /// Its usage is quite simple, for example you can count the number 417 417 /// of outgoing arcs of a node \c n 418 418 /// in a graph \c g of type \c %Graph as follows. … … 462 462 /// This iterator goes trough the \e incoming directed arcs of a 463 463 /// certain node of a graph. 464 /// Its usage is quite simple, for example ,you can count the number464 /// Its usage is quite simple, for example you can count the number 465 465 /// of incoming arcs of a node \c n 466 466 /// in a graph \c g of type \c %Graph as follows. … … 588 588 /// Returns the first node of the given edge. 589 589 /// 590 /// Edges don't have source and target nodes, however ,methods590 /// Edges don't have source and target nodes, however methods 591 591 /// u() and v() are used to query the two end-nodes of an edge. 592 592 /// The orientation of an edge that arises this way is called … … 601 601 /// Returns the second node of the given edge. 602 602 /// 603 /// Edges don't have source and target nodes, however ,methods603 /// Edges don't have source and target nodes, however methods 604 604 /// u() and v() are used to query the two end-nodes of an edge. 605 605 /// The orientation of an edge that arises this way is called -
lemon/concepts/graph_components.h
r786 r734 19 19 ///\ingroup graph_concepts 20 20 ///\file 21 ///\brief The concept sof graph components.21 ///\brief The concept of graph components. 22 22 23 23 #ifndef LEMON_CONCEPTS_GRAPH_COMPONENTS_H -
lemon/concepts/path.h
r785 r559 19 19 ///\ingroup concept 20 20 ///\file 21 ///\brief The concept of paths21 ///\brief Classes for representing paths in digraphs. 22 22 /// 23 23 … … 39 39 /// A skeleton structure for representing directed paths in a 40 40 /// digraph. 41 /// In a sense, a path can be treated as a list of arcs.42 /// LEMON path types just store this list. As a consequence, they cannot43 /// enumerate the nodes on the path directly and a zero length path44 /// cannot store its source node.45 ///46 /// The arcs of a path should be stored in the order of their directions,47 /// i.e. the target node of each arc should be the same as the source48 /// node of the next arc. This consistency could be checked using49 /// \ref checkPath().50 /// The source and target nodes of a (consistent) path can be obtained51 /// using \ref pathSource() and \ref pathTarget().52 ///53 /// A path can be constructed from another path of any type using the54 /// copy constructor or the assignment operator.55 ///56 41 /// \tparam GR The digraph type in which the path is. 42 /// 43 /// In a sense, the path can be treated as a list of arcs. The 44 /// lemon path type stores just this list. As a consequence it 45 /// cannot enumerate the nodes in the path and the zero length 46 /// paths cannot store the source. 47 /// 57 48 template <typename GR> 58 49 class Path { … … 69 60 Path() {} 70 61 71 /// \brief Template co py constructor62 /// \brief Template constructor 72 63 template <typename CPath> 73 64 Path(const CPath& cpath) {} 74 65 75 /// \brief Template assigment operator66 /// \brief Template assigment 76 67 template <typename CPath> 77 68 Path& operator=(const CPath& cpath) { … … 80 71 } 81 72 82 /// Length of the path , i.e. the number of arcs on the path.73 /// Length of the path ie. the number of arcs in the path. 83 74 int length() const { return 0;} 84 75 … … 89 80 void clear() {} 90 81 91 /// \brief LEMON style iterator for enumerating the arcs of a path.82 /// \brief LEMON style iterator for path arcs 92 83 /// 93 /// LEMON style iterator class for enumerating the arcs of a path.84 /// This class is used to iterate on the arcs of the paths. 94 85 class ArcIt { 95 86 public: … … 98 89 /// Invalid constructor 99 90 ArcIt(Invalid) {} 100 /// Sets the iterator to the first arc of the given path91 /// Constructor for first arc 101 92 ArcIt(const Path &) {} 102 93 103 /// Conversion to \cArc94 /// Conversion to Arc 104 95 operator Arc() const { return INVALID; } 105 96 … … 202 193 /// 203 194 /// A skeleton structure for path dumpers. The path dumpers are 204 /// the generalization of the paths, they can enumerate the arcs 205 /// of the path either in forward or in backward order. 206 /// These classes are typically not used directly, they are rather 207 /// used to be assigned to a real path type. 195 /// the generalization of the paths. The path dumpers can 196 /// enumerate the arcs of the path wheter in forward or in 197 /// backward order. In most time these classes are not used 198 /// directly rather it used to assign a dumped class to a real 199 /// path type. 208 200 /// 209 201 /// The main purpose of this concept is that the shortest path 210 /// algorithms can enumerate the arcs easily in reverse order. 211 /// In LEMON, such algorithms give back a (reverse) path dumper that 212 /// can be assigned to a real path. The dumpers can be implemented as 202 /// algorithms can enumerate easily the arcs in reverse order. 203 /// If we would like to give back a real path from these 204 /// algorithms then we should create a temporarly path object. In 205 /// LEMON such algorithms gives back a path dumper what can 206 /// assigned to a real path and the dumpers can be implemented as 213 207 /// an adaptor class to the predecessor map. 214 208 /// 215 209 /// \tparam GR The digraph type in which the path is. 210 /// 211 /// The paths can be constructed from any path type by a 212 /// template constructor or a template assignment operator. 216 213 template <typename GR> 217 214 class PathDumper { … … 223 220 typedef typename Digraph::Arc Arc; 224 221 225 /// Length of the path , i.e. the number of arcs on the path.222 /// Length of the path ie. the number of arcs in the path. 226 223 int length() const { return 0;} 227 224 … … 231 228 /// \brief Forward or reverse dumping 232 229 /// 233 /// If this tag is defined to be \c True, then reverse dumping 234 /// is provided in the path dumper. In this case, \c RevArcIt 235 /// iterator should be implemented instead of \c ArcIt iterator. 230 /// If the RevPathTag is defined and true then reverse dumping 231 /// is provided in the path dumper. In this case instead of the 232 /// ArcIt the RevArcIt iterator should be implemented in the 233 /// dumper. 236 234 typedef False RevPathTag; 237 235 238 /// \brief LEMON style iterator for enumerating the arcs of a path.236 /// \brief LEMON style iterator for path arcs 239 237 /// 240 /// LEMON style iterator class for enumerating the arcs of a path.238 /// This class is used to iterate on the arcs of the paths. 241 239 class ArcIt { 242 240 public: … … 245 243 /// Invalid constructor 246 244 ArcIt(Invalid) {} 247 /// Sets the iterator to the first arc of the given path245 /// Constructor for first arc 248 246 ArcIt(const PathDumper&) {} 249 247 250 /// Conversion to \cArc248 /// Conversion to Arc 251 249 operator Arc() const { return INVALID; } 252 250 … … 263 261 }; 264 262 265 /// \brief LEMON style iterator for enumerating the arcs of a path 266 /// in reverse direction. 263 /// \brief LEMON style iterator for path arcs 267 264 /// 268 /// LEMON style iterator class for enumerating the arcs of a path269 /// inreverse direction.265 /// This class is used to iterate on the arcs of the paths in 266 /// reverse direction. 270 267 class RevArcIt { 271 268 public: … … 274 271 /// Invalid constructor 275 272 RevArcIt(Invalid) {} 276 /// Sets the iterator to the last arc of the given path273 /// Constructor for first arc 277 274 RevArcIt(const PathDumper &) {} 278 275 279 /// Conversion to \cArc276 /// Conversion to Arc 280 277 operator Arc() const { return INVALID; } 281 278 -
lemon/counter.h
r786 r440 213 213 /// 'Do nothing' version of Counter. 214 214 215 /// This class can be used in the same way as \ref Counter , butit215 /// This class can be used in the same way as \ref Counter however it 216 216 /// does not count at all and does not print report on destruction. 217 217 /// -
lemon/dfs.h
r788 r717 64 64 ///The type of the map that indicates which nodes are processed. 65 65 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 66 ///By default ,it is a NullMap.66 ///By default it is a NullMap. 67 67 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 68 68 ///Instantiates a \c ProcessedMap. … … 634 634 ///Runs the algorithm to visit all nodes in the digraph. 635 635 636 ///This method runs the %DFS algorithm in order to visit all nodes 637 ///in the digraph. 636 ///This method runs the %DFS algorithm in order to compute the 637 ///%DFS path to each node. 638 /// 639 ///The algorithm computes 640 ///- the %DFS tree (forest), 641 ///- the distance of each node from the root(s) in the %DFS tree. 638 642 /// 639 643 ///\note <tt>d.run()</tt> is just a shortcut of the following code. … … 779 783 ///The type of the map that indicates which nodes are processed. 780 784 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 781 ///By default ,it is a NullMap.785 ///By default it is a NullMap. 782 786 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 783 787 ///Instantiates a ProcessedMap. … … 973 977 ///Runs DFS algorithm to visit all nodes in the digraph. 974 978 975 ///This method runs DFS algorithm in order to visit all nodes976 /// in the digraph.979 ///This method runs DFS algorithm in order to compute 980 ///the DFS path to each node. 977 981 void run() 978 982 { … … 1575 1579 /// \brief Runs the algorithm to visit all nodes in the digraph. 1576 1580 1577 /// This method runs the %DFS algorithm in order to visit all nodes 1578 /// in the digraph. 1581 /// This method runs the %DFS algorithm in order to 1582 /// compute the %DFS path to each node. 1583 /// 1584 /// The algorithm computes 1585 /// - the %DFS tree (forest), 1586 /// - the distance of each node from the root(s) in the %DFS tree. 1579 1587 /// 1580 1588 /// \note <tt>d.run()</tt> is just a shortcut of the following code. -
lemon/dijkstra.h
r788 r717 133 133 ///The type of the map that indicates which nodes are processed. 134 134 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 135 ///By default ,it is a NullMap.135 ///By default it is a NullMap. 136 136 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 137 137 ///Instantiates a \c ProcessedMap. … … 207 207 208 208 ///The type of the arc lengths. 209 typedef typename TR:: Value Value;209 typedef typename TR::LengthMap::Value Value; 210 210 ///The type of the map that stores the arc lengths. 211 211 typedef typename TR::LengthMap LengthMap; … … 427 427 ///passed to the constructor of the cross reference and the cross 428 428 ///reference should be passed to the constructor of the heap). 429 ///However ,external heap and cross reference objects could also be429 ///However external heap and cross reference objects could also be 430 430 ///passed to the algorithm using the \ref heap() function before 431 431 ///calling \ref run(Node) "run()" or \ref init(). … … 448 448 ///\ref named-templ-param "Named parameter" for setting 449 449 ///\c OperationTraits type. 450 /// For more information ,see \ref DijkstraDefaultOperationTraits.450 /// For more information see \ref DijkstraDefaultOperationTraits. 451 451 template <class T> 452 452 struct SetOperationTraits … … 997 997 ///The type of the map that indicates which nodes are processed. 998 998 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 999 ///By default ,it is a NullMap.999 ///By default it is a NullMap. 1000 1000 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 1001 1001 ///Instantiates a ProcessedMap. -
lemon/edge_set.h
r787 r778 256 256 /// all arcs incident to the given node is erased from the arc set. 257 257 /// 258 /// This class fully conforms to the \ref concepts::Digraph259 /// "Digraph" concept.260 /// It provides only linear time counting for nodes and arcs.261 ///262 258 /// \param GR The type of the graph which shares its node set with 263 259 /// this class. Its interface must conform to the 264 260 /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph" 265 261 /// concept. 262 /// 263 /// This class fully conforms to the \ref concepts::Digraph 264 /// "Digraph" concept. 266 265 template <typename GR> 267 266 class ListArcSet : public ArcSetExtender<ListArcSetBase<GR> > { … … 687 686 /// incident to the given node is erased from the arc set. 688 687 /// 689 /// This class fully conforms to the \ref concepts::Graph "Graph"690 /// concept.691 /// It provides only linear time counting for nodes, edges and arcs.692 ///693 688 /// \param GR The type of the graph which shares its node set 694 689 /// with this class. Its interface must conform to the 695 690 /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph" 691 /// concept. 692 /// 693 /// This class fully conforms to the \ref concepts::Graph "Graph" 696 694 /// concept. 697 695 template <typename GR> … … 957 955 /// arcs. Therefore the arcs cannot be erased from the arc sets. 958 956 /// 959 /// This class fully conforms to the \ref concepts::Digraph "Digraph"960 /// concept.961 /// It provides only linear time counting for nodes and arcs.962 ///963 957 /// \warning If a node is erased from the underlying graph and this 964 958 /// node is the source or target of one arc in the arc set, then 965 959 /// the arc set is invalidated, and it cannot be used anymore. The 966 960 /// validity can be checked with the \c valid() member function. 961 /// 962 /// This class fully conforms to the \ref concepts::Digraph 963 /// "Digraph" concept. 967 964 template <typename GR> 968 965 class SmartArcSet : public ArcSetExtender<SmartArcSetBase<GR> > { … … 1308 1305 /// edges cannot be erased from the edge sets. 1309 1306 /// 1310 /// This class fully conforms to the \ref concepts::Graph "Graph"1311 /// concept.1312 /// It provides only linear time counting for nodes, edges and arcs.1313 ///1314 1307 /// \warning If a node is erased from the underlying graph and this 1315 1308 /// node is incident to one edge in the edge set, then the edge set 1316 1309 /// is invalidated, and it cannot be used anymore. The validity can 1317 1310 /// be checked with the \c valid() member function. 1311 /// 1312 /// This class fully conforms to the \ref concepts::Graph 1313 /// "Graph" concept. 1318 1314 template <typename GR> 1319 1315 class SmartEdgeSet : public EdgeSetExtender<SmartEdgeSetBase<GR> > { -
lemon/full_graph.h
r787 r780 163 163 /// only in the concept class. 164 164 /// 165 /// This class provides constant time counting for nodes and arcs.166 ///167 165 /// \note FullDigraph and FullGraph classes are very similar, 168 166 /// but there are two differences. While this class conforms only … … 207 205 /// completely static, the nodes can be indexed with integers from 208 206 /// the range <tt>[0..nodeNum()-1]</tt>. 209 /// The index of a node is the same as its ID.210 207 /// \sa index() 211 208 Node operator()(int ix) const { return Parent::operator()(ix); } … … 216 213 /// completely static, the nodes can be indexed with integers from 217 214 /// the range <tt>[0..nodeNum()-1]</tt>. 218 /// The index of a node is the same as its ID.219 215 /// \sa operator()() 220 216 static int index(const Node& node) { return Parent::index(node); } … … 540 536 /// only in the concept class. 541 537 /// 542 /// This class provides constant time counting for nodes, edges and arcs.543 ///544 538 /// \note FullDigraph and FullGraph classes are very similar, 545 539 /// but there are two differences. While FullDigraph … … 586 580 /// completely static, the nodes can be indexed with integers from 587 581 /// the range <tt>[0..nodeNum()-1]</tt>. 588 /// The index of a node is the same as its ID.589 582 /// \sa index() 590 583 Node operator()(int ix) const { return Parent::operator()(ix); } … … 595 588 /// completely static, the nodes can be indexed with integers from 596 589 /// the range <tt>[0..nodeNum()-1]</tt>. 597 /// The index of a node is the same as its ID.598 590 /// \sa operator()() 599 591 static int index(const Node& node) { return Parent::index(node); } -
lemon/gomory_hu.h
r786 r713 295 295 /// \pre \ref run() must be called before using this function. 296 296 template <typename CutMap> 297 Value minCutMap(const Node& s, 297 Value minCutMap(const Node& s, ///< 298 298 const Node& t, 299 ///< 299 300 CutMap& cutMap 301 ///< 300 302 ) const { 301 303 Node sn = s, tn = t; … … 393 395 /// \endcode 394 396 /// does not necessarily give the same set of nodes. 395 /// However ,it is ensured that397 /// However it is ensured that 396 398 /// \code 397 399 /// MinCutNodeIt(gomory, s, t, true); -
lemon/graph_to_eps.h
r786 r617 143 143 ///\param gr Reference to the graph to be printed. 144 144 ///\param ost Reference to the output stream. 145 ///By default ,it is <tt>std::cout</tt>.145 ///By default it is <tt>std::cout</tt>. 146 146 ///\param pros If it is \c true, then the \c ostream referenced by \c os 147 147 ///will be explicitly deallocated by the destructor. … … 513 513 ///Turn on/off pre-scaling 514 514 515 ///By default ,graphToEps() rescales the whole image in order to avoid515 ///By default graphToEps() rescales the whole image in order to avoid 516 516 ///very big or very small bounding boxes. 517 517 /// … … 1115 1115 ///\param g Reference to the graph to be printed. 1116 1116 ///\param os Reference to the output stream. 1117 ///By default ,it is <tt>std::cout</tt>.1117 ///By default it is <tt>std::cout</tt>. 1118 1118 /// 1119 1119 ///This function also has a lot of … … 1127 1127 ///\endcode 1128 1128 /// 1129 ///For more detailed examples ,see the \ref graph_to_eps_demo.cc demo file.1129 ///For more detailed examples see the \ref graph_to_eps_demo.cc demo file. 1130 1130 /// 1131 1131 ///\warning Don't forget to put the \ref GraphToEps::run() "run()" -
lemon/grid_graph.h
r787 r735 504 504 /// Most of its member functions and nested classes are documented 505 505 /// only in the concept class. 506 ///507 /// This class provides constant time counting for nodes, edges and arcs.508 506 class GridGraph : public ExtendedGridGraphBase { 509 507 typedef ExtendedGridGraphBase Parent; -
lemon/hypercube_graph.h
r788 r780 288 288 /// differ only on one position in the binary form. 289 289 /// This class is completely static and it needs constant memory space. 290 /// Thus you can neither add nor delete nodes or edges, however ,290 /// Thus you can neither add nor delete nodes or edges, however 291 291 /// the structure can be resized using resize(). 292 292 /// … … 294 294 /// Most of its member functions and nested classes are documented 295 295 /// only in the concept class. 296 ///297 /// This class provides constant time counting for nodes, edges and arcs.298 296 /// 299 297 /// \note The type of the indices is chosen to \c int for efficiency -
lemon/lgf_reader.h
r786 r599 428 428 ///\endcode 429 429 /// 430 /// By default ,the reader uses the first section in the file of the430 /// By default the reader uses the first section in the file of the 431 431 /// proper type. If a section has an optional name, then it can be 432 432 /// selected for reading by giving an optional name parameter to the … … 2222 2222 /// whitespaces are trimmed from each processed string. 2223 2223 /// 2224 /// For example ,let's see a section, which contain several2224 /// For example let's see a section, which contain several 2225 2225 /// integers, which should be inserted into a vector. 2226 2226 ///\code -
lemon/list_graph.h
r788 r741 325 325 ///only in the concept class. 326 326 /// 327 ///This class provides only linear time counting for nodes and arcs.328 ///329 327 ///\sa concepts::Digraph 330 328 ///\sa ListGraph … … 363 361 ///\brief Erase a node from the digraph. 364 362 /// 365 ///This function erases the given node along with its outgoing and 366 ///incoming arcs from the digraph. 367 /// 368 ///\note All iterators referencing the removed node or the connected 369 ///arcs are invalidated, of course. 363 ///This function erases the given node from the digraph. 370 364 void erase(Node n) { Parent::erase(n); } 371 365 … … 373 367 /// 374 368 ///This function erases the given arc from the digraph. 375 ///376 ///\note All iterators referencing the removed arc are invalidated,377 ///of course.378 369 void erase(Arc a) { Parent::erase(a); } 379 370 … … 401 392 /// 402 393 ///\note \c ArcIt and \c OutArcIt iterators referencing the changed 403 ///arc remain valid, but\c InArcIt iterators are invalidated.394 ///arc remain valid, however \c InArcIt iterators are invalidated. 404 395 /// 405 396 ///\warning This functionality cannot be used together with the Snapshot … … 413 404 /// 414 405 ///\note \c InArcIt iterators referencing the changed arc remain 415 ///valid, but\c ArcIt and \c OutArcIt iterators are invalidated.406 ///valid, however \c ArcIt and \c OutArcIt iterators are invalidated. 416 407 /// 417 408 ///\warning This functionality cannot be used together with the Snapshot … … 520 511 ///This function erases all nodes and arcs from the digraph. 521 512 /// 522 ///\note All iterators of the digraph are invalidated, of course.523 513 void clear() { 524 514 Parent::clear(); … … 560 550 /// reversing, contracting, splitting arcs or nodes) cannot be 561 551 /// restored. These events invalidate the snapshot. 562 /// However ,the arcs and nodes that were added to the digraph after552 /// However the arcs and nodes that were added to the digraph after 563 553 /// making the current snapshot can be removed without invalidating it. 564 554 class Snapshot { … … 1190 1180 ///only in the concept class. 1191 1181 /// 1192 ///This class provides only linear time counting for nodes, edges and arcs.1193 ///1194 1182 ///\sa concepts::Graph 1195 1183 ///\sa ListDigraph … … 1230 1218 ///\brief Erase a node from the graph. 1231 1219 /// 1232 /// This function erases the given node along with its incident arcs 1233 /// from the graph. 1234 /// 1235 /// \note All iterators referencing the removed node or the incident 1236 /// edges are invalidated, of course. 1220 /// This function erases the given node from the graph. 1237 1221 void erase(Node n) { Parent::erase(n); } 1238 1222 … … 1240 1224 /// 1241 1225 /// This function erases the given edge from the graph. 1242 ///1243 /// \note All iterators referencing the removed edge are invalidated,1244 /// of course.1245 1226 void erase(Edge e) { Parent::erase(e); } 1246 1227 /// Node validity check … … 1287 1268 /// 1288 1269 ///\note \c EdgeIt iterators referencing the changed edge remain 1289 ///valid, but\c ArcIt iterators referencing the changed edge and1270 ///valid, however \c ArcIt iterators referencing the changed edge and 1290 1271 ///all other iterators whose base node is the changed node are also 1291 1272 ///invalidated. … … 1332 1313 ///This function erases all nodes and arcs from the graph. 1333 1314 /// 1334 ///\note All iterators of the graph are invalidated, of course.1335 1315 void clear() { 1336 1316 Parent::clear(); … … 1372 1352 /// (e.g. changing the end-nodes of edges or contracting nodes) 1373 1353 /// cannot be restored. These events invalidate the snapshot. 1374 /// However ,the edges and nodes that were added to the graph after1354 /// However the edges and nodes that were added to the graph after 1375 1355 /// making the current snapshot can be removed without invalidating it. 1376 1356 class Snapshot { -
lemon/lp_base.h
r786 r746 147 147 ///Iterator for iterate over the columns of an LP problem 148 148 149 /// Its usage is quite simple, for example ,you can count the number149 /// Its usage is quite simple, for example you can count the number 150 150 /// of columns in an LP \c lp: 151 151 ///\code … … 242 242 ///Iterator for iterate over the rows of an LP problem 243 243 244 /// Its usage is quite simple, for example ,you can count the number244 /// Its usage is quite simple, for example you can count the number 245 245 /// of rows in an LP \c lp: 246 246 ///\code -
lemon/maps.h
r792 r789 231 231 /// This map is essentially a wrapper for \c std::vector. It assigns 232 232 /// values to integer keys from the range <tt>[0..size-1]</tt>. 233 /// It can be used together with some data structures, e.g.234 /// heap types and \c UnionFind, when the used items are small233 /// It can be used with some data structures, for example 234 /// \c UnionFind, \c BinHeap, when the used items are small 235 235 /// integers. This map conforms to the \ref concepts::ReferenceMap 236 /// "ReferenceMap" concept. 236 /// "ReferenceMap" concept. 237 237 /// 238 238 /// The simplest way of using this map is through the rangeMap() … … 349 349 /// The name of this type also refers to this important usage. 350 350 /// 351 /// Apart form that ,this map can be used in many other cases since it351 /// Apart form that this map can be used in many other cases since it 352 352 /// is based on \c std::map, which is a general associative container. 353 /// However ,keep in mind that it is usually not as efficient as other353 /// However keep in mind that it is usually not as efficient as other 354 354 /// maps. 355 355 /// … … 1786 1786 /// The most important usage of it is storing certain nodes or arcs 1787 1787 /// that were marked \c true by an algorithm. 1788 /// For example ,it makes easier to store the nodes in the processing1788 /// For example it makes easier to store the nodes in the processing 1789 1789 /// order of Dfs algorithm, as the following examples show. 1790 1790 /// \code … … 1801 1801 /// 1802 1802 /// \note LoggerBoolMap is just \ref concepts::WriteMap "writable", so 1803 /// it cannot be used when a readable map is needed, for example ,as1803 /// it cannot be used when a readable map is needed, for example as 1804 1804 /// \c ReachedMap for \c Bfs, \c Dfs and \c Dijkstra algorithms. 1805 1805 /// … … 1923 1923 /// Otherwise consider to use \c IterableValueMap, which is more 1924 1924 /// suitable and more efficient for such cases. It provides iterators 1925 /// to traverse the items with the same associated value, but1925 /// to traverse the items with the same associated value, however 1926 1926 /// it does not have \c InverseMap. 1927 1927 /// … … 3467 3467 /// may provide alternative ways to modify the digraph. 3468 3468 /// The correct behavior of InDegMap is not guarantied if these additional 3469 /// features are used. For example ,the functions3469 /// features are used. For example the functions 3470 3470 /// \ref ListDigraph::changeSource() "changeSource()", 3471 3471 /// \ref ListDigraph::changeTarget() "changeTarget()" and … … 3597 3597 /// may provide alternative ways to modify the digraph. 3598 3598 /// The correct behavior of OutDegMap is not guarantied if these additional 3599 /// features are used. For example ,the functions3599 /// features are used. For example the functions 3600 3600 /// \ref ListDigraph::changeSource() "changeSource()", 3601 3601 /// \ref ListDigraph::changeTarget() "changeTarget()" and -
lemon/network_simplex.h
r788 r755 51 51 /// in LEMON for the minimum cost flow problem. 52 52 /// Moreover it supports both directions of the supply/demand inequality 53 /// constraints. For more information ,see \ref SupplyType.53 /// constraints. For more information see \ref SupplyType. 54 54 /// 55 55 /// Most of the parameters of the problem (except for the digraph) … … 60 60 /// \tparam GR The digraph type the algorithm runs on. 61 61 /// \tparam V The value type used for flow amounts, capacity bounds 62 /// and supply values in the algorithm. By default ,it is \c int.62 /// and supply values in the algorithm. By default it is \c int. 63 63 /// \tparam C The value type used for costs and potentials in the 64 /// algorithm. By default ,it is the same as \c V.64 /// algorithm. By default it is the same as \c V. 65 65 /// 66 66 /// \warning Both value types must be signed and all input data must … … 69 69 /// \note %NetworkSimplex provides five different pivot rule 70 70 /// implementations, from which the most efficient one is used 71 /// by default. For more information ,see \ref PivotRule.71 /// by default. For more information see \ref PivotRule. 72 72 template <typename GR, typename V = int, typename C = V> 73 73 class NetworkSimplex … … 125 125 /// implementations that significantly affect the running time 126 126 /// of the algorithm. 127 /// By default ,\ref BLOCK_SEARCH "Block Search" is used, which127 /// By default \ref BLOCK_SEARCH "Block Search" is used, which 128 128 /// proved to be the most efficient and the most robust on various 129 129 /// test inputs according to our benchmark tests. 130 /// However ,another pivot rule can be selected using the \ref run()130 /// However another pivot rule can be selected using the \ref run() 131 131 /// function with the proper parameter. 132 132 enum PivotRule { 133 133 134 /// The \e First \eEligible pivot rule.134 /// The First Eligible pivot rule. 135 135 /// The next eligible arc is selected in a wraparound fashion 136 136 /// in every iteration. 137 137 FIRST_ELIGIBLE, 138 138 139 /// The \e Best \eEligible pivot rule.139 /// The Best Eligible pivot rule. 140 140 /// The best eligible arc is selected in every iteration. 141 141 BEST_ELIGIBLE, 142 142 143 /// The \e Block \eSearch pivot rule.143 /// The Block Search pivot rule. 144 144 /// A specified number of arcs are examined in every iteration 145 145 /// in a wraparound fashion and the best eligible arc is selected … … 147 147 BLOCK_SEARCH, 148 148 149 /// The \e Candidate \e List pivot rule.149 /// The Candidate List pivot rule. 150 150 /// In a major iteration a candidate list is built from eligible arcs 151 151 /// in a wraparound fashion and in the following minor iterations … … 153 153 CANDIDATE_LIST, 154 154 155 /// The \e Altering \e Candidate \e List pivot rule.155 /// The Altering Candidate List pivot rule. 156 156 /// It is a modified version of the Candidate List method. 157 157 /// It keeps only the several best eligible arcs from the former … … 813 813 /// type will be used. 814 814 /// 815 /// For more information ,see \ref SupplyType.815 /// For more information see \ref SupplyType. 816 816 /// 817 817 /// \return <tt>(*this)</tt> … … 845 845 /// \ref reset() is called, thus only the modified parameters 846 846 /// have to be set again. See \ref reset() for examples. 847 /// However ,the underlying digraph must not be modified after this847 /// However the underlying digraph must not be modified after this 848 848 /// class have been constructed, since it copies and extends the graph. 849 849 /// 850 850 /// \param pivot_rule The pivot rule that will be used during the 851 /// algorithm. For more information ,see \ref PivotRule.851 /// algorithm. For more information see \ref PivotRule. 852 852 /// 853 853 /// \return \c INFEASIBLE if no feasible flow exists, … … 874 874 /// used, all the parameters given before are kept for the next 875 875 /// \ref run() call. 876 /// However ,the underlying digraph must not be modified after this876 /// However the underlying digraph must not be modified after this 877 877 /// class have been constructed, since it copies and extends the graph. 878 878 /// -
lemon/preflow.h
r788 r755 266 266 /// able to automatically created by the algorithm (i.e. the 267 267 /// digraph and the maximum level should be passed to it). 268 /// However ,an external elevator object could also be passed to the268 /// However an external elevator object could also be passed to the 269 269 /// algorithm with the \ref elevator(Elevator&) "elevator()" function 270 270 /// before calling \ref run() or \ref init(). -
lemon/smart_graph.h
r787 r780 195 195 ///only in the concept class. 196 196 /// 197 ///This class provides constant time counting for nodes and arcs.198 ///199 197 ///\sa concepts::Digraph 200 198 ///\sa SmartGraph … … 623 621 /// only in the concept class. 624 622 /// 625 /// This class provides constant time counting for nodes, edges and arcs.626 ///627 623 /// \sa concepts::Graph 628 624 /// \sa SmartDigraph -
lemon/static_graph.h
r787 r779 293 293 /// only in the concept class. 294 294 /// 295 /// This class provides constant time counting for nodes and arcs.296 ///297 295 /// \sa concepts::Digraph 298 296 class StaticDigraph : public ExtendedStaticDigraphBase { -
lemon/time_measure.h
r786 r584 376 376 ///This function returns the number of stop() exections that is 377 377 ///necessary to really stop the timer. 378 ///For example ,the timer378 ///For example the timer 379 379 ///is running if and only if the return value is \c true 380 380 ///(i.e. greater than -
lemon/unionfind.h
r786 r559 44 44 /// This is a very simple but efficient implementation, providing 45 45 /// only four methods: join (union), find, insert and size. 46 /// For more features ,see the \ref UnionFindEnum class.46 /// For more features see the \ref UnionFindEnum class. 47 47 /// 48 48 /// It is primarily used in Kruskal algorithm for finding minimal
Note: See TracChangeset
for help on using the changeset viewer.