Changes in / [791:4e3484a2e90c:792:a2d5fd4c309a] in lemon-main
- Files:
-
- 28 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/min_cost_flow.dox
r755 r788 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) <=0\f$;81 - \f$\pi(u)\leq 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) >=0\f$;148 - \f$\pi(u)\geq 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
r656 r787 361 361 /// parameter is set to be \c const. 362 362 /// 363 /// This class provides item counting in the same time as the adapted 364 /// digraph structure. 365 /// 363 366 /// \tparam DGR The type of the adapted digraph. 364 367 /// It must conform to the \ref concepts::Digraph "Digraph" concept. … … 719 722 /// by adding or removing nodes or arcs, unless the \c GR template 720 723 /// parameter is set to be \c const. 724 /// 725 /// This class provides only linear time counting for nodes and arcs. 721 726 /// 722 727 /// \tparam DGR The type of the adapted digraph. … … 1315 1320 /// parameter is set to be \c const. 1316 1321 /// 1322 /// This class provides only linear time counting for nodes, edges and arcs. 1323 /// 1317 1324 /// \tparam GR The type of the adapted graph. 1318 1325 /// It must conform to the \ref concepts::Graph "Graph" concept. … … 1471 1478 /// by adding or removing nodes or arcs/edges, unless the \c GR template 1472 1479 /// parameter is set to be \c const. 1480 /// 1481 /// This class provides only linear time item counting. 1473 1482 /// 1474 1483 /// \tparam GR The type of the adapted digraph or graph. … … 1620 1629 /// parameter is set to be \c const. 1621 1630 /// 1631 /// This class provides only linear time counting for nodes and arcs. 1632 /// 1622 1633 /// \tparam DGR The type of the adapted digraph. 1623 1634 /// It must conform to the \ref concepts::Digraph "Digraph" concept. … … 1729 1740 /// by adding or removing nodes or edges, unless the \c GR template 1730 1741 /// parameter is set to be \c const. 1742 /// 1743 /// This class provides only linear time counting for nodes, edges and arcs. 1731 1744 /// 1732 1745 /// \tparam GR The type of the adapted graph. … … 2233 2246 /// parameter is set to be \c const. 2234 2247 /// 2248 /// This class provides item counting in the same time as the adapted 2249 /// digraph structure. 2250 /// 2235 2251 /// \tparam DGR The type of the adapted digraph. 2236 2252 /// It must conform to the \ref concepts::Digraph "Digraph" concept. … … 2535 2551 /// by adding or removing nodes or arcs, unless the \c GR template 2536 2552 /// parameter is set to be \c const. 2553 /// 2554 /// This class provides item counting in the same time as the adapted 2555 /// graph structure. 2537 2556 /// 2538 2557 /// \tparam GR The type of the adapted graph. … … 2678 2697 /// arcs). 2679 2698 /// This class conforms to the \ref concepts::Digraph "Digraph" concept. 2699 /// 2700 /// This class provides only linear time counting for nodes and arcs. 2680 2701 /// 2681 2702 /// \tparam DGR The type of the adapted digraph. … … 3326 3347 /// in the adaptor. 3327 3348 /// 3349 /// This class provides item counting in the same time as the adapted 3350 /// digraph structure. 3351 /// 3328 3352 /// \tparam DGR The type of the adapted digraph. 3329 3353 /// It must conform to the \ref concepts::Digraph "Digraph" concept. -
lemon/bellman_ford.h
r781 r788 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 \ predMap().721 /// tree used in \ref predNode() and \ref 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 \ predMap().736 /// tree used in \ref predArc() and \ref predMap(). 737 737 /// 738 738 /// \pre Either \ref run() or \ref init() must be called before -
lemon/bfs.h
r717 r788 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 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). 704 ///This method runs the %BFS algorithm in order to visit all nodes 705 ///in the digraph. 710 706 /// 711 707 ///\note <tt>b.run(s)</tt> is just a shortcut of the following code. … … 853 849 ///The type of the map that indicates which nodes are processed. 854 850 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 855 ///By default it is a NullMap.851 ///By default, it is a NullMap. 856 852 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 857 853 ///Instantiates a ProcessedMap. … … 1047 1043 ///Runs BFS algorithm to visit all nodes in the digraph. 1048 1044 1049 ///This method runs BFS algorithm in order to compute1050 /// the shortest path to each node.1045 ///This method runs BFS algorithm in order to visit all nodes 1046 ///in the digraph. 1051 1047 void run() 1052 1048 { … … 1696 1692 /// \brief Runs the algorithm to visit all nodes in the digraph. 1697 1693 /// 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). 1694 /// This method runs the %BFS algorithm in order to visit all nodes 1695 /// in the digraph. 1704 1696 /// 1705 1697 /// \note <tt>b.run(s)</tt> is just a shortcut of the following code. -
lemon/circulation.h
r715 r786 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
r734 r786 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
r734 r786 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
r734 r786 19 19 ///\ingroup graph_concepts 20 20 ///\file 21 ///\brief The concept of graph components.21 ///\brief The concepts of graph components. 22 22 23 23 #ifndef LEMON_CONCEPTS_GRAPH_COMPONENTS_H -
lemon/concepts/path.h
r559 r785 19 19 ///\ingroup concept 20 20 ///\file 21 ///\brief Classes for representing paths in digraphs.21 ///\brief The concept of paths 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 cannot 43 /// enumerate the nodes on the path directly and a zero length path 44 /// 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 source 48 /// node of the next arc. This consistency could be checked using 49 /// \ref checkPath(). 50 /// The source and target nodes of a (consistent) path can be obtained 51 /// using \ref pathSource() and \ref pathTarget(). 52 /// 53 /// A path can be constructed from another path of any type using the 54 /// copy constructor or the assignment operator. 55 /// 41 56 /// \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. The44 /// lemon path type stores just this list. As a consequence it45 /// cannot enumerate the nodes in the path and the zero length46 /// paths cannot store the source.47 ///48 57 template <typename GR> 49 58 class Path { … … 60 69 Path() {} 61 70 62 /// \brief Template co nstructor71 /// \brief Template copy constructor 63 72 template <typename CPath> 64 73 Path(const CPath& cpath) {} 65 74 66 /// \brief Template assigment 75 /// \brief Template assigment operator 67 76 template <typename CPath> 68 77 Path& operator=(const CPath& cpath) { … … 71 80 } 72 81 73 /// Length of the path ie. the number of arcs in the path.82 /// Length of the path, i.e. the number of arcs on the path. 74 83 int length() const { return 0;} 75 84 … … 80 89 void clear() {} 81 90 82 /// \brief LEMON style iterator for path arcs91 /// \brief LEMON style iterator for enumerating the arcs of a path. 83 92 /// 84 /// This class is used to iterate on the arcs of the paths.93 /// LEMON style iterator class for enumerating the arcs of a path. 85 94 class ArcIt { 86 95 public: … … 89 98 /// Invalid constructor 90 99 ArcIt(Invalid) {} 91 /// Constructor for first arc100 /// Sets the iterator to the first arc of the given path 92 101 ArcIt(const Path &) {} 93 102 94 /// Conversion to Arc103 /// Conversion to \c Arc 95 104 operator Arc() const { return INVALID; } 96 105 … … 193 202 /// 194 203 /// A skeleton structure for path dumpers. The path dumpers are 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. 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. 200 208 /// 201 209 /// The main purpose of this concept is that the shortest path 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 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 207 213 /// an adaptor class to the predecessor map. 208 214 /// 209 215 /// \tparam GR The digraph type in which the path is. 210 ///211 /// The paths can be constructed from any path type by a212 /// template constructor or a template assignment operator.213 216 template <typename GR> 214 217 class PathDumper { … … 220 223 typedef typename Digraph::Arc Arc; 221 224 222 /// Length of the path ie. the number of arcs in the path.225 /// Length of the path, i.e. the number of arcs on the path. 223 226 int length() const { return 0;} 224 227 … … 228 231 /// \brief Forward or reverse dumping 229 232 /// 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. 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. 234 236 typedef False RevPathTag; 235 237 236 /// \brief LEMON style iterator for path arcs238 /// \brief LEMON style iterator for enumerating the arcs of a path. 237 239 /// 238 /// This class is used to iterate on the arcs of the paths.240 /// LEMON style iterator class for enumerating the arcs of a path. 239 241 class ArcIt { 240 242 public: … … 243 245 /// Invalid constructor 244 246 ArcIt(Invalid) {} 245 /// Constructor for first arc247 /// Sets the iterator to the first arc of the given path 246 248 ArcIt(const PathDumper&) {} 247 249 248 /// Conversion to Arc250 /// Conversion to \c Arc 249 251 operator Arc() const { return INVALID; } 250 252 … … 261 263 }; 262 264 263 /// \brief LEMON style iterator for path arcs 265 /// \brief LEMON style iterator for enumerating the arcs of a path 266 /// in reverse direction. 264 267 /// 265 /// This class is used to iterate on the arcs of the paths in266 /// reverse direction.268 /// LEMON style iterator class for enumerating the arcs of a path 269 /// in reverse direction. 267 270 class RevArcIt { 268 271 public: … … 271 274 /// Invalid constructor 272 275 RevArcIt(Invalid) {} 273 /// Constructor for first arc276 /// Sets the iterator to the last arc of the given path 274 277 RevArcIt(const PathDumper &) {} 275 278 276 /// Conversion to Arc279 /// Conversion to \c Arc 277 280 operator Arc() const { return INVALID; } 278 281 -
lemon/counter.h
r440 r786 213 213 /// 'Do nothing' version of Counter. 214 214 215 /// This class can be used in the same way as \ref Counter howeverit215 /// This class can be used in the same way as \ref Counter, but it 216 216 /// does not count at all and does not print report on destruction. 217 217 /// -
lemon/dfs.h
r717 r788 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 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. 636 ///This method runs the %DFS algorithm in order to visit all nodes 637 ///in the digraph. 642 638 /// 643 639 ///\note <tt>d.run()</tt> is just a shortcut of the following code. … … 783 779 ///The type of the map that indicates which nodes are processed. 784 780 ///It must conform to the \ref concepts::WriteMap "WriteMap" concept. 785 ///By default it is a NullMap.781 ///By default, it is a NullMap. 786 782 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 787 783 ///Instantiates a ProcessedMap. … … 977 973 ///Runs DFS algorithm to visit all nodes in the digraph. 978 974 979 ///This method runs DFS algorithm in order to compute980 /// the DFS path to each node.975 ///This method runs DFS algorithm in order to visit all nodes 976 ///in the digraph. 981 977 void run() 982 978 { … … 1579 1575 /// \brief Runs the algorithm to visit all nodes in the digraph. 1580 1576 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. 1577 /// This method runs the %DFS algorithm in order to visit all nodes 1578 /// in the digraph. 1587 1579 /// 1588 1580 /// \note <tt>d.run()</tt> is just a shortcut of the following code. -
lemon/dijkstra.h
r717 r788 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:: LengthMap::Value Value;209 typedef typename TR::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
r778 r787 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::Digraph 259 /// "Digraph" concept. 260 /// It provides only linear time counting for nodes and arcs. 261 /// 258 262 /// \param GR The type of the graph which shares its node set with 259 263 /// this class. Its interface must conform to the 260 264 /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph" 261 265 /// concept. 262 ///263 /// This class fully conforms to the \ref concepts::Digraph264 /// "Digraph" concept.265 266 template <typename GR> 266 267 class ListArcSet : public ArcSetExtender<ListArcSetBase<GR> > { … … 686 687 /// incident to the given node is erased from the arc set. 687 688 /// 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 /// 688 693 /// \param GR The type of the graph which shares its node set 689 694 /// with this class. Its interface must conform to the 690 695 /// \ref concepts::Digraph "Digraph" or \ref concepts::Graph "Graph" 691 /// concept.692 ///693 /// This class fully conforms to the \ref concepts::Graph "Graph"694 696 /// concept. 695 697 template <typename GR> … … 955 957 /// arcs. Therefore the arcs cannot be erased from the arc sets. 956 958 /// 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 /// 957 963 /// \warning If a node is erased from the underlying graph and this 958 964 /// node is the source or target of one arc in the arc set, then 959 965 /// the arc set is invalidated, and it cannot be used anymore. The 960 966 /// validity can be checked with the \c valid() member function. 961 ///962 /// This class fully conforms to the \ref concepts::Digraph963 /// "Digraph" concept.964 967 template <typename GR> 965 968 class SmartArcSet : public ArcSetExtender<SmartArcSetBase<GR> > { … … 1305 1308 /// edges cannot be erased from the edge sets. 1306 1309 /// 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 /// 1307 1314 /// \warning If a node is erased from the underlying graph and this 1308 1315 /// node is incident to one edge in the edge set, then the edge set 1309 1316 /// is invalidated, and it cannot be used anymore. The validity can 1310 1317 /// be checked with the \c valid() member function. 1311 ///1312 /// This class fully conforms to the \ref concepts::Graph1313 /// "Graph" concept.1314 1318 template <typename GR> 1315 1319 class SmartEdgeSet : public EdgeSetExtender<SmartEdgeSetBase<GR> > { -
lemon/full_graph.h
r780 r787 163 163 /// only in the concept class. 164 164 /// 165 /// This class provides constant time counting for nodes and arcs. 166 /// 165 167 /// \note FullDigraph and FullGraph classes are very similar, 166 168 /// but there are two differences. While this class conforms only … … 205 207 /// completely static, the nodes can be indexed with integers from 206 208 /// the range <tt>[0..nodeNum()-1]</tt>. 209 /// The index of a node is the same as its ID. 207 210 /// \sa index() 208 211 Node operator()(int ix) const { return Parent::operator()(ix); } … … 213 216 /// completely static, the nodes can be indexed with integers from 214 217 /// the range <tt>[0..nodeNum()-1]</tt>. 218 /// The index of a node is the same as its ID. 215 219 /// \sa operator()() 216 220 static int index(const Node& node) { return Parent::index(node); } … … 536 540 /// only in the concept class. 537 541 /// 542 /// This class provides constant time counting for nodes, edges and arcs. 543 /// 538 544 /// \note FullDigraph and FullGraph classes are very similar, 539 545 /// but there are two differences. While FullDigraph … … 580 586 /// completely static, the nodes can be indexed with integers from 581 587 /// the range <tt>[0..nodeNum()-1]</tt>. 588 /// The index of a node is the same as its ID. 582 589 /// \sa index() 583 590 Node operator()(int ix) const { return Parent::operator()(ix); } … … 588 595 /// completely static, the nodes can be indexed with integers from 589 596 /// the range <tt>[0..nodeNum()-1]</tt>. 597 /// The index of a node is the same as its ID. 590 598 /// \sa operator()() 591 599 static int index(const Node& node) { return Parent::index(node); } -
lemon/gomory_hu.h
r713 r786 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 ///<300 299 CutMap& cutMap 301 ///<302 300 ) const { 303 301 Node sn = s, tn = t; … … 395 393 /// \endcode 396 394 /// does not necessarily give the same set of nodes. 397 /// However it is ensured that395 /// However, it is ensured that 398 396 /// \code 399 397 /// MinCutNodeIt(gomory, s, t, true); -
lemon/graph_to_eps.h
r617 r786 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
r735 r787 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. 506 508 class GridGraph : public ExtendedGridGraphBase { 507 509 typedef ExtendedGridGraphBase Parent; -
lemon/hypercube_graph.h
r780 r788 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. 296 298 /// 297 299 /// \note The type of the indices is chosen to \c int for efficiency -
lemon/lgf_reader.h
r599 r786 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
r741 r788 325 325 ///only in the concept class. 326 326 /// 327 ///This class provides only linear time counting for nodes and arcs. 328 /// 327 329 ///\sa concepts::Digraph 328 330 ///\sa ListGraph … … 361 363 ///\brief Erase a node from the digraph. 362 364 /// 363 ///This function erases the given node from the digraph. 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. 364 370 void erase(Node n) { Parent::erase(n); } 365 371 … … 367 373 /// 368 374 ///This function erases the given arc from the digraph. 375 /// 376 ///\note All iterators referencing the removed arc are invalidated, 377 ///of course. 369 378 void erase(Arc a) { Parent::erase(a); } 370 379 … … 392 401 /// 393 402 ///\note \c ArcIt and \c OutArcIt iterators referencing the changed 394 ///arc remain valid, however\c InArcIt iterators are invalidated.403 ///arc remain valid, but \c InArcIt iterators are invalidated. 395 404 /// 396 405 ///\warning This functionality cannot be used together with the Snapshot … … 404 413 /// 405 414 ///\note \c InArcIt iterators referencing the changed arc remain 406 ///valid, however\c ArcIt and \c OutArcIt iterators are invalidated.415 ///valid, but \c ArcIt and \c OutArcIt iterators are invalidated. 407 416 /// 408 417 ///\warning This functionality cannot be used together with the Snapshot … … 511 520 ///This function erases all nodes and arcs from the digraph. 512 521 /// 522 ///\note All iterators of the digraph are invalidated, of course. 513 523 void clear() { 514 524 Parent::clear(); … … 550 560 /// reversing, contracting, splitting arcs or nodes) cannot be 551 561 /// restored. These events invalidate the snapshot. 552 /// However the arcs and nodes that were added to the digraph after562 /// However, the arcs and nodes that were added to the digraph after 553 563 /// making the current snapshot can be removed without invalidating it. 554 564 class Snapshot { … … 1180 1190 ///only in the concept class. 1181 1191 /// 1192 ///This class provides only linear time counting for nodes, edges and arcs. 1193 /// 1182 1194 ///\sa concepts::Graph 1183 1195 ///\sa ListDigraph … … 1218 1230 ///\brief Erase a node from the graph. 1219 1231 /// 1220 /// This function erases the given node from the graph. 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. 1221 1237 void erase(Node n) { Parent::erase(n); } 1222 1238 … … 1224 1240 /// 1225 1241 /// This function erases the given edge from the graph. 1242 /// 1243 /// \note All iterators referencing the removed edge are invalidated, 1244 /// of course. 1226 1245 void erase(Edge e) { Parent::erase(e); } 1227 1246 /// Node validity check … … 1268 1287 /// 1269 1288 ///\note \c EdgeIt iterators referencing the changed edge remain 1270 ///valid, however\c ArcIt iterators referencing the changed edge and1289 ///valid, but \c ArcIt iterators referencing the changed edge and 1271 1290 ///all other iterators whose base node is the changed node are also 1272 1291 ///invalidated. … … 1313 1332 ///This function erases all nodes and arcs from the graph. 1314 1333 /// 1334 ///\note All iterators of the graph are invalidated, of course. 1315 1335 void clear() { 1316 1336 Parent::clear(); … … 1352 1372 /// (e.g. changing the end-nodes of edges or contracting nodes) 1353 1373 /// cannot be restored. These events invalidate the snapshot. 1354 /// However the edges and nodes that were added to the graph after1374 /// However, the edges and nodes that were added to the graph after 1355 1375 /// making the current snapshot can be removed without invalidating it. 1356 1376 class Snapshot { -
lemon/lp_base.h
r746 r786 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
r789 r792 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 with some data structures, for example234 /// \c UnionFind, \c BinHeap, when the used items are small233 /// It can be used together with some data structures, e.g. 234 /// heap types and \c UnionFind, 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, however1925 /// to traverse the items with the same associated value, but 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
r755 r788 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 FirstEligible pivot rule.134 /// The \e First \e 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 BestEligible pivot rule.139 /// The \e Best \e Eligible pivot rule. 140 140 /// The best eligible arc is selected in every iteration. 141 141 BEST_ELIGIBLE, 142 142 143 /// The BlockSearch pivot rule.143 /// The \e Block \e 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 Candidate List pivot rule.149 /// The \e Candidate \e 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 Altering Candidate List pivot rule.155 /// The \e Altering \e Candidate \e 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
r755 r788 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
r780 r787 195 195 ///only in the concept class. 196 196 /// 197 ///This class provides constant time counting for nodes and arcs. 198 /// 197 199 ///\sa concepts::Digraph 198 200 ///\sa SmartGraph … … 621 623 /// only in the concept class. 622 624 /// 625 /// This class provides constant time counting for nodes, edges and arcs. 626 /// 623 627 /// \sa concepts::Graph 624 628 /// \sa SmartDigraph -
lemon/static_graph.h
r779 r787 293 293 /// only in the concept class. 294 294 /// 295 /// This class provides constant time counting for nodes and arcs. 296 /// 295 297 /// \sa concepts::Digraph 296 298 class StaticDigraph : public ExtendedStaticDigraphBase { -
lemon/time_measure.h
r584 r786 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
r559 r786 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.