0
16
0
1
1
5
5
1
1
21
26
5
5
1
1
| ... | ... |
@@ -26,7 +26,7 @@ |
| 26 | 26 |
/// graphToEps(), and showing how to draw directed graphs, |
| 27 | 27 |
/// how to handle parallel egdes, how to change the properties (like |
| 28 | 28 |
/// color, shape, size, title etc.) of nodes and arcs individually |
| 29 |
/// using appropriate |
|
| 29 |
/// using appropriate graph maps. |
|
| 30 | 30 |
/// |
| 31 | 31 |
/// \include graph_to_eps_demo.cc |
| 32 | 32 |
| ... | ... |
@@ -78,7 +78,7 @@ |
| 78 | 78 |
2 3 18 |
| 79 | 79 |
\endcode |
| 80 | 80 |
|
| 81 |
The \c \@edges is just a synonym of \c \@arcs. The @arcs section can |
|
| 81 |
The \c \@edges is just a synonym of \c \@arcs. The \@arcs section can |
|
| 82 | 82 |
also store the edge set of an undirected graph. In such case there is |
| 83 | 83 |
a conventional method for store arc maps in the file, if two columns |
| 84 | 84 |
has the same caption with \c '+' and \c '-' prefix, then these columns |
| ... | ... |
@@ -79,8 +79,7 @@ |
| 79 | 79 |
/// observeres will not be notified and the fulfilled additions will |
| 80 | 80 |
/// be rolled back by calling the \e erase() or \e clear() |
| 81 | 81 |
/// functions. Thence the \e erase() and \e clear() should not throw |
| 82 |
/// exception. Actullay, it can be throw only |
|
| 83 |
/// \ref AlterationObserver::ImmediateDetach ImmediateDetach |
|
| 82 |
/// exception. Actullay, it can be throw only \ref ImmediateDetach |
|
| 84 | 83 |
/// exception which detach the observer from the notifier. |
| 85 | 84 |
/// |
| 86 | 85 |
/// There are some place when the alteration observing is not completly |
| ... | ... |
@@ -92,7 +92,7 @@ |
| 92 | 92 |
/// Dark cyan color constant |
| 93 | 93 |
extern const Color DARK_CYAN; |
| 94 | 94 |
|
| 95 |
///Map <tt>int</tt>s to different |
|
| 95 |
///Map <tt>int</tt>s to different <tt>Color</tt>s |
|
| 96 | 96 |
|
| 97 | 97 |
///This map assigns one of the predefined \ref Color "Color"s to |
| 98 | 98 |
///each <tt>int</tt>. It is possible to change the colors as well as |
| ... | ... |
@@ -982,7 +982,7 @@ |
| 982 | 982 |
/// \brief Class describing the concept of graph maps |
| 983 | 983 |
/// |
| 984 | 984 |
/// This class describes the common interface of the graph maps |
| 985 |
/// (NodeMap, ArcMap), that is |
|
| 985 |
/// (NodeMap, ArcMap), that is maps that can be used to |
|
| 986 | 986 |
/// associate data to graph descriptors (nodes or arcs). |
| 987 | 987 |
template <typename _Graph, typename _Item, typename _Value> |
| 988 | 988 |
class GraphMap : public ReadWriteMap<_Item, _Value> {
|
| ... | ... |
@@ -1554,7 +1554,7 @@ |
| 1554 | 1554 |
///\note This is a dynamic data structure, therefore the data |
| 1555 | 1555 |
///structure is updated after each graph alteration. Thus although |
| 1556 | 1556 |
///this data structure is theoretically faster than \ref ArcLookUp |
| 1557 |
///and \ref |
|
| 1557 |
///and \ref AllArcLookUp, it often provides worse performance than |
|
| 1558 | 1558 |
///them. |
| 1559 | 1559 |
Arc operator()(Node s, Node t, Arc p = INVALID) const {
|
| 1560 | 1560 |
if (p == INVALID) {
|
| ... | ... |
@@ -1699,8 +1699,8 @@ |
| 1699 | 1699 |
|
| 1700 | 1700 |
///Find an arc between two nodes. |
| 1701 | 1701 |
|
| 1702 |
///Find an arc between two nodes in time <em>O</em>(log<em>d</em>), where |
|
| 1703 |
///<em>d</em> is the number of outgoing arcs of \c s. |
|
| 1702 |
///Find an arc between two nodes in time <em>O</em>(log<em>d</em>), |
|
| 1703 |
///where <em>d</em> is the number of outgoing arcs of \c s. |
|
| 1704 | 1704 |
///\param s The source node. |
| 1705 | 1705 |
///\param t The target node. |
| 1706 | 1706 |
///\return An arc from \c s to \c t if there exists, |
| ... | ... |
@@ -1817,8 +1817,8 @@ |
| 1817 | 1817 |
///for(Arc a = ae(u,v); a != INVALID; a=ae(u,v,a)) n++; |
| 1818 | 1818 |
///\endcode |
| 1819 | 1819 |
/// |
| 1820 |
///Finding the first arc take <em>O</em>(log<em>d</em>) time, where |
|
| 1821 |
///<em>d</em> is the number of outgoing arcs of \c s. Then, the |
|
| 1820 |
///Finding the first arc take <em>O</em>(log<em>d</em>) time, |
|
| 1821 |
///where <em>d</em> is the number of outgoing arcs of \c s. Then the |
|
| 1822 | 1822 |
///consecutive arcs are found in constant time. |
| 1823 | 1823 |
/// |
| 1824 | 1824 |
///\warning If you change the digraph, refresh() must be called before using |
| ... | ... |
@@ -453,7 +453,7 @@ |
| 453 | 453 |
}; |
| 454 | 454 |
|
| 455 | 455 |
/// \brief \ref named-templ-param "Named parameter" for setting |
| 456 |
///\ |
|
| 456 |
///\c OperationTraits type |
|
| 457 | 457 |
/// |
| 458 | 458 |
///\ref named-templ-param "Named parameter" for setting |
| 459 | 459 |
///\ref OperationTraits type. |
| ... | ... |
@@ -1038,7 +1038,7 @@ |
| 1038 | 1038 |
typedef lemon::Path<Digraph> Path; |
| 1039 | 1039 |
}; |
| 1040 | 1040 |
|
| 1041 |
/// Default traits class used by |
|
| 1041 |
/// Default traits class used by DijkstraWizard |
|
| 1042 | 1042 |
|
| 1043 | 1043 |
/// To make it easier to use Dijkstra algorithm |
| 1044 | 1044 |
/// we have created a wizard class. |
| ... | ... |
@@ -259,10 +259,10 @@ |
| 259 | 259 |
|
| 260 | 260 |
|
| 261 | 261 |
|
| 262 |
/// Bounding box of plain vectors ( |
|
| 262 |
/// Bounding box of plain vectors (points). |
|
| 263 | 263 |
|
| 264 | 264 |
/// A class to calculate or store the bounding box of plain vectors |
| 265 |
/// (\ref Point points). |
|
| 265 |
/// (\ref Point "points"). |
|
| 266 | 266 |
template<typename T> |
| 267 | 267 |
class Box {
|
| 268 | 268 |
Point<T> _bottom_left, _top_right; |
| ... | ... |
@@ -573,11 +573,10 @@ |
| 573 | 573 |
return os; |
| 574 | 574 |
} |
| 575 | 575 |
|
| 576 |
///Map of x-coordinates of a |
|
| 576 |
///Map of x-coordinates of a <tt>Point</tt>-map |
|
| 577 | 577 |
|
| 578 |
///Map of x-coordinates of a \ref Point "Point"-map. |
|
| 578 | 579 |
///\ingroup maps |
| 579 |
///Map of x-coordinates of a \ref Point "Point"-map. |
|
| 580 |
/// |
|
| 581 | 580 |
template<class M> |
| 582 | 581 |
class XMap |
| 583 | 582 |
{
|
| ... | ... |
@@ -592,9 +591,9 @@ |
| 592 | 591 |
void set(Key k,Value v) {_map.set(k,typename M::Value(v,_map[k].y));}
|
| 593 | 592 |
}; |
| 594 | 593 |
|
| 595 |
///Returns an |
|
| 594 |
///Returns an XMap class |
|
| 596 | 595 |
|
| 597 |
///This function just returns an |
|
| 596 |
///This function just returns an XMap class. |
|
| 598 | 597 |
/// |
| 599 | 598 |
///\ingroup maps |
| 600 | 599 |
///\relates XMap |
| ... | ... |
@@ -610,11 +609,10 @@ |
| 610 | 609 |
return XMap<M>(m); |
| 611 | 610 |
} |
| 612 | 611 |
|
| 613 |
///Constant (read only) version of |
|
| 612 |
///Constant (read only) version of XMap |
|
| 614 | 613 |
|
| 614 |
///Constant (read only) version of XMap. |
|
| 615 | 615 |
///\ingroup maps |
| 616 |
///Constant (read only) version of \ref XMap |
|
| 617 |
/// |
|
| 618 | 616 |
template<class M> |
| 619 | 617 |
class ConstXMap |
| 620 | 618 |
{
|
| ... | ... |
@@ -628,9 +626,9 @@ |
| 628 | 626 |
Value operator[](Key k) const {return _map[k].x;}
|
| 629 | 627 |
}; |
| 630 | 628 |
|
| 631 |
///Returns a |
|
| 629 |
///Returns a ConstXMap class |
|
| 632 | 630 |
|
| 633 |
///This function just returns a |
|
| 631 |
///This function just returns a ConstXMap class. |
|
| 634 | 632 |
/// |
| 635 | 633 |
///\ingroup maps |
| 636 | 634 |
///\relates ConstXMap |
| ... | ... |
@@ -640,11 +638,10 @@ |
| 640 | 638 |
return ConstXMap<M>(m); |
| 641 | 639 |
} |
| 642 | 640 |
|
| 643 |
///Map of y-coordinates of a |
|
| 641 |
///Map of y-coordinates of a <tt>Point</tt>-map |
|
| 644 | 642 |
|
| 643 |
///Map of y-coordinates of a \ref Point "Point"-map. |
|
| 645 | 644 |
///\ingroup maps |
| 646 |
///Map of y-coordinates of a \ref Point "Point"-map. |
|
| 647 |
/// |
|
| 648 | 645 |
template<class M> |
| 649 | 646 |
class YMap |
| 650 | 647 |
{
|
| ... | ... |
@@ -659,9 +656,9 @@ |
| 659 | 656 |
void set(Key k,Value v) {_map.set(k,typename M::Value(_map[k].x,v));}
|
| 660 | 657 |
}; |
| 661 | 658 |
|
| 662 |
///Returns a |
|
| 659 |
///Returns a YMap class |
|
| 663 | 660 |
|
| 664 |
///This function just returns a |
|
| 661 |
///This function just returns a YMap class. |
|
| 665 | 662 |
/// |
| 666 | 663 |
///\ingroup maps |
| 667 | 664 |
///\relates YMap |
| ... | ... |
@@ -677,11 +674,10 @@ |
| 677 | 674 |
return YMap<M>(m); |
| 678 | 675 |
} |
| 679 | 676 |
|
| 680 |
///Constant (read only) version of |
|
| 677 |
///Constant (read only) version of YMap |
|
| 681 | 678 |
|
| 679 |
///Constant (read only) version of YMap. |
|
| 682 | 680 |
///\ingroup maps |
| 683 |
///Constant (read only) version of \ref YMap |
|
| 684 |
/// |
|
| 685 | 681 |
template<class M> |
| 686 | 682 |
class ConstYMap |
| 687 | 683 |
{
|
| ... | ... |
@@ -695,9 +691,9 @@ |
| 695 | 691 |
Value operator[](Key k) const {return _map[k].y;}
|
| 696 | 692 |
}; |
| 697 | 693 |
|
| 698 |
///Returns a |
|
| 694 |
///Returns a ConstYMap class |
|
| 699 | 695 |
|
| 700 |
///This function just returns a |
|
| 696 |
///This function just returns a ConstYMap class. |
|
| 701 | 697 |
/// |
| 702 | 698 |
///\ingroup maps |
| 703 | 699 |
///\relates ConstYMap |
| ... | ... |
@@ -708,8 +704,7 @@ |
| 708 | 704 |
} |
| 709 | 705 |
|
| 710 | 706 |
|
| 711 |
///\brief Map of the \ref Point::normSquare() "normSquare()" |
|
| 712 |
///of a \ref Point "Point"-map |
|
| 707 |
///\brief Map of the normSquare() of a <tt>Point</tt>-map |
|
| 713 | 708 |
/// |
| 714 | 709 |
///Map of the \ref Point::normSquare() "normSquare()" |
| 715 | 710 |
///of a \ref Point "Point"-map. |
| ... | ... |
@@ -727,9 +722,9 @@ |
| 727 | 722 |
Value operator[](Key k) const {return _map[k].normSquare();}
|
| 728 | 723 |
}; |
| 729 | 724 |
|
| 730 |
///Returns a |
|
| 725 |
///Returns a NormSquareMap class |
|
| 731 | 726 |
|
| 732 |
///This function just returns a |
|
| 727 |
///This function just returns a NormSquareMap class. |
|
| 733 | 728 |
/// |
| 734 | 729 |
///\ingroup maps |
| 735 | 730 |
///\relates NormSquareMap |
| ... | ... |
@@ -413,7 +413,7 @@ |
| 413 | 413 |
/// Change the source of \c a to \c n |
| 414 | 414 |
/// |
| 415 | 415 |
///\note The <tt>InArcIt</tt>s referencing the changed arc remain |
| 416 |
///valid. However the <tt>ArcIt<tt>s and <tt>OutArcIt</tt>s are |
|
| 416 |
///valid. However the <tt>ArcIt</tt>s and <tt>OutArcIt</tt>s are |
|
| 417 | 417 |
///invalidated. |
| 418 | 418 |
/// |
| 419 | 419 |
///\warning This functionality cannot be used together with the Snapshot |
| ... | ... |
@@ -43,7 +43,7 @@ |
| 43 | 43 |
template<typename K, typename V> |
| 44 | 44 |
class MapBase {
|
| 45 | 45 |
public: |
| 46 |
/// \ |
|
| 46 |
/// \brief The key type of the map. |
|
| 47 | 47 |
typedef K Key; |
| 48 | 48 |
/// \brief The value type of the map. |
| 49 | 49 |
/// (The type of objects associated with the keys). |
| ... | ... |
@@ -2266,7 +2266,7 @@ |
| 2266 | 2266 |
/// \brief Constructor |
| 2267 | 2267 |
/// |
| 2268 | 2268 |
/// Constructor |
| 2269 |
/// \param |
|
| 2269 |
/// \param digraph The digraph that the map belongs to. |
|
| 2270 | 2270 |
explicit SourceMap(const Digraph& digraph) : _digraph(digraph) {}
|
| 2271 | 2271 |
|
| 2272 | 2272 |
/// \brief The subscript operator. |
| ... | ... |
@@ -2305,7 +2305,7 @@ |
| 2305 | 2305 |
/// \brief Constructor |
| 2306 | 2306 |
/// |
| 2307 | 2307 |
/// Constructor |
| 2308 |
/// \param |
|
| 2308 |
/// \param digraph The digraph that the map belongs to. |
|
| 2309 | 2309 |
explicit TargetMap(const Digraph& digraph) : _digraph(digraph) {}
|
| 2310 | 2310 |
|
| 2311 | 2311 |
/// \brief The subscript operator. |
| ... | ... |
@@ -2344,7 +2344,7 @@ |
| 2344 | 2344 |
/// \brief Constructor |
| 2345 | 2345 |
/// |
| 2346 | 2346 |
/// Constructor |
| 2347 |
/// \param |
|
| 2347 |
/// \param graph The graph that the map belongs to. |
|
| 2348 | 2348 |
explicit ForwardMap(const Graph& graph) : _graph(graph) {}
|
| 2349 | 2349 |
|
| 2350 | 2350 |
/// \brief The subscript operator. |
| ... | ... |
@@ -2383,7 +2383,7 @@ |
| 2383 | 2383 |
/// \brief Constructor |
| 2384 | 2384 |
/// |
| 2385 | 2385 |
/// Constructor |
| 2386 |
/// \param |
|
| 2386 |
/// \param graph The graph that the map belongs to. |
|
| 2387 | 2387 |
explicit BackwardMap(const Graph& graph) : _graph(graph) {}
|
| 2388 | 2388 |
|
| 2389 | 2389 |
/// \brief The subscript operator. |
| ... | ... |
@@ -849,7 +849,7 @@ |
| 849 | 849 |
/// \brief Return true when the path is empty. |
| 850 | 850 |
int empty() const { return len == 0; }
|
| 851 | 851 |
|
| 852 |
/// \ |
|
| 852 |
/// \brief Erase all arcs in the digraph. |
|
| 853 | 853 |
void clear() {
|
| 854 | 854 |
len = 0; |
| 855 | 855 |
if (arcs) delete[] arcs; |
| ... | ... |
@@ -365,7 +365,7 @@ |
| 365 | 365 |
///Constructor that immediately makes a snapshot |
| 366 | 366 |
|
| 367 | 367 |
///This constructor immediately makes a snapshot of the digraph. |
| 368 |
///\param |
|
| 368 |
///\param graph The digraph we make a snapshot of. |
|
| 369 | 369 |
Snapshot(SmartDigraph &graph) : _graph(&graph) {
|
| 370 | 370 |
node_num=_graph->nodes.size(); |
| 371 | 371 |
arc_num=_graph->arcs.size(); |
| ... | ... |
@@ -377,7 +377,7 @@ |
| 377 | 377 |
/// |
| 378 | 378 |
///This function can be called more than once. In case of a repeated |
| 379 | 379 |
///call, the previous snapshot gets lost. |
| 380 |
///\param |
|
| 380 |
///\param graph The digraph we make the snapshot of. |
|
| 381 | 381 |
void save(SmartDigraph &graph) |
| 382 | 382 |
{
|
| 383 | 383 |
_graph=&graph; |
| ... | ... |
@@ -775,7 +775,7 @@ |
| 775 | 775 |
///Constructor that immediately makes a snapshot |
| 776 | 776 |
|
| 777 | 777 |
///This constructor immediately makes a snapshot of the digraph. |
| 778 |
///\param |
|
| 778 |
///\param graph The digraph we make a snapshot of. |
|
| 779 | 779 |
Snapshot(SmartGraph &graph) {
|
| 780 | 780 |
graph.saveSnapshot(*this); |
| 781 | 781 |
} |
| ... | ... |
@@ -786,7 +786,7 @@ |
| 786 | 786 |
/// |
| 787 | 787 |
///This function can be called more than once. In case of a repeated |
| 788 | 788 |
///call, the previous snapshot gets lost. |
| 789 |
///\param |
|
| 789 |
///\param graph The digraph we make the snapshot of. |
|
| 790 | 790 |
void save(SmartGraph &graph) |
| 791 | 791 |
{
|
| 792 | 792 |
graph.saveSnapshot(*this); |
| ... | ... |
@@ -311,12 +311,11 @@ |
| 311 | 311 |
///\name Control the state of the timer |
| 312 | 312 |
///Basically a Timer can be either running or stopped, |
| 313 | 313 |
///but it provides a bit finer control on the execution. |
| 314 |
///The \ref Timer also counts the number of \ref start() |
|
| 315 |
///executions, and is stops only after the same amount (or more) |
|
| 316 |
///\ref stop() "stop()"s. This can be useful e.g. to compute |
|
| 317 |
///the running time |
|
| 314 |
///The \ref lemon::Timer "Timer" also counts the number of |
|
| 315 |
///\ref lemon::Timer::start() "start()" executions, and it stops |
|
| 316 |
///only after the same amount (or more) \ref lemon::Timer::stop() |
|
| 317 |
///"stop()"s. This can be useful e.g. to compute the running time |
|
| 318 | 318 |
///of recursive functions. |
| 319 |
/// |
|
| 320 | 319 |
|
| 321 | 320 |
///@{
|
| 322 | 321 |
|
| ... | ... |
@@ -472,7 +471,7 @@ |
| 472 | 471 |
///@} |
| 473 | 472 |
}; |
| 474 | 473 |
|
| 475 |
///Same as |
|
| 474 |
///Same as Timer but prints a report on destruction. |
|
| 476 | 475 |
|
| 477 | 476 |
///Same as \ref Timer but prints a report on destruction. |
| 478 | 477 |
///This example shows its usage. |
| ... | ... |
@@ -491,22 +490,22 @@ |
| 491 | 490 |
std::string _title; |
| 492 | 491 |
std::ostream &_os; |
| 493 | 492 |
public: |
| 494 |
/// |
|
| 493 |
///Constructor |
|
| 495 | 494 |
|
| 495 |
///Constructor. |
|
| 496 | 496 |
///\param title This text will be printed before the ellapsed time. |
| 497 | 497 |
///\param os The stream to print the report to. |
| 498 | 498 |
///\param run Sets whether the timer should start immediately. |
| 499 |
|
|
| 500 | 499 |
TimeReport(std::string title,std::ostream &os=std::cerr,bool run=true) |
| 501 | 500 |
: Timer(run), _title(title), _os(os){}
|
| 502 |
/// |
|
| 501 |
///Destructor that prints the ellapsed time |
|
| 503 | 502 |
~TimeReport() |
| 504 | 503 |
{
|
| 505 | 504 |
_os << _title << *this << std::endl; |
| 506 | 505 |
} |
| 507 | 506 |
}; |
| 508 | 507 |
|
| 509 |
///'Do nothing' version of |
|
| 508 |
///'Do nothing' version of TimeReport |
|
| 510 | 509 |
|
| 511 | 510 |
///\sa TimeReport |
| 512 | 511 |
/// |
0 comments (0 inline)