# HG changeset patch
# User Peter Kovacs <kpeter@inf.elte.hu>
# Date 1223539784 -7200
# Node ID 64f8f7cc6168b86c88ad05e447aecb9b1428c61e
# Parent e57e10a8ea1b3b89a3350af00e85ca51d7ad1dfc
Fix several doxygen warnings
diff --git a/demo/graph_to_eps_demo.cc b/demo/graph_to_eps_demo.cc
|
a
|
b
|
|
| 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 \ref maps-page "graph maps". |
| | 29 | /// using appropriate graph maps. |
| 30 | 30 | /// |
| 31 | 31 | /// \include graph_to_eps_demo.cc |
| 32 | 32 | |
diff --git a/doc/lgf.dox b/doc/lgf.dox
|
a
|
b
|
|
| 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 |
diff --git a/lemon/bits/alteration_notifier.h b/lemon/bits/alteration_notifier.h
|
a
|
b
|
|
| 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 |
diff --git a/lemon/bits/default_map.h b/lemon/bits/default_map.h
|
a
|
b
|
|
| 149 | 149 | |
| 150 | 150 | // #endif |
| 151 | 151 | |
| 152 | | /// \e |
| | 152 | /// DefaultMap class |
| 153 | 153 | template <typename _Graph, typename _Item, typename _Value> |
| 154 | 154 | class DefaultMap |
| 155 | 155 | : public DefaultMapSelector<_Graph, _Item, _Value>::Map { |
diff --git a/lemon/color.h b/lemon/color.h
|
a
|
b
|
|
| 92 | 92 | /// Dark cyan color constant |
| 93 | 93 | extern const Color DARK_CYAN; |
| 94 | 94 | |
| 95 | | ///Map <tt>int</tt>s to different \ref Color "Color"s |
| | 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 |
diff --git a/lemon/concepts/graph_components.h b/lemon/concepts/graph_components.h
|
a
|
b
|
|
| 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 \ref maps-page "maps" which can be used to |
| | 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> { |
diff --git a/lemon/core.h b/lemon/core.h
|
a
|
b
|
|
| 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 AllArcLookup, it often provides worse performance than |
| | 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 | 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 | 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 |
diff --git a/lemon/dfs.h b/lemon/dfs.h
|
a
|
b
|
|
| 835 | 835 | typedef lemon::Path<Digraph> Path; |
| 836 | 836 | }; |
| 837 | 837 | |
| 838 | | /// Default traits class used by \ref DfsWizard |
| | 838 | /// Default traits class used by DfsWizard |
| 839 | 839 | |
| 840 | 840 | /// To make it easier to use Dfs algorithm |
| 841 | 841 | /// we have created a wizard class. |
diff --git a/lemon/dijkstra.h b/lemon/dijkstra.h
|
a
|
b
|
|
| 453 | 453 | }; |
| 454 | 454 | |
| 455 | 455 | /// \brief \ref named-templ-param "Named parameter" for setting |
| 456 | | ///\ref OperationTraits type |
| | 456 | ///\c OperationTraits type |
| 457 | 457 | /// |
| 458 | 458 | ///\ref named-templ-param "Named parameter" for setting |
| 459 | 459 | ///\ref OperationTraits type. |
| … |
… |
|
| 1038 | 1038 | typedef lemon::Path<Digraph> Path; |
| 1039 | 1039 | }; |
| 1040 | 1040 | |
| 1041 | | /// Default traits class used by \ref DijkstraWizard |
| | 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. |
diff --git a/lemon/dim2.h b/lemon/dim2.h
|
a
|
b
|
|
| 259 | 259 | |
| 260 | 260 | |
| 261 | 261 | |
| 262 | | /// Bounding box of plain vectors (\ref Point points). |
| | 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 | 573 | return os; |
| 574 | 574 | } |
| 575 | 575 | |
| 576 | | ///Map of x-coordinates of a \ref Point "Point"-map |
| | 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 | 591 | void set(Key k,Value v) {_map.set(k,typename M::Value(v,_map[k].y));} |
| 593 | 592 | }; |
| 594 | 593 | |
| 595 | | ///Returns an \ref XMap class |
| | 594 | ///Returns an XMap class |
| 596 | 595 | |
| 597 | | ///This function just returns an \ref XMap class. |
| | 596 | ///This function just returns an XMap class. |
| 598 | 597 | /// |
| 599 | 598 | ///\ingroup maps |
| 600 | 599 | ///\relates XMap |
| … |
… |
|
| 610 | 609 | return XMap<M>(m); |
| 611 | 610 | } |
| 612 | 611 | |
| 613 | | ///Constant (read only) version of \ref XMap |
| | 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 | 626 | Value operator[](Key k) const {return _map[k].x;} |
| 629 | 627 | }; |
| 630 | 628 | |
| 631 | | ///Returns a \ref ConstXMap class |
| | 629 | ///Returns a ConstXMap class |
| 632 | 630 | |
| 633 | | ///This function just returns a \ref ConstXMap class. |
| | 631 | ///This function just returns a ConstXMap class. |
| 634 | 632 | /// |
| 635 | 633 | ///\ingroup maps |
| 636 | 634 | ///\relates ConstXMap |
| … |
… |
|
| 640 | 638 | return ConstXMap<M>(m); |
| 641 | 639 | } |
| 642 | 640 | |
| 643 | | ///Map of y-coordinates of a \ref Point "Point"-map |
| | 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 | 656 | void set(Key k,Value v) {_map.set(k,typename M::Value(_map[k].x,v));} |
| 660 | 657 | }; |
| 661 | 658 | |
| 662 | | ///Returns a \ref YMap class |
| | 659 | ///Returns a YMap class |
| 663 | 660 | |
| 664 | | ///This function just returns a \ref YMap class. |
| | 661 | ///This function just returns a YMap class. |
| 665 | 662 | /// |
| 666 | 663 | ///\ingroup maps |
| 667 | 664 | ///\relates YMap |
| … |
… |
|
| 677 | 674 | return YMap<M>(m); |
| 678 | 675 | } |
| 679 | 676 | |
| 680 | | ///Constant (read only) version of \ref YMap |
| | 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 | 691 | Value operator[](Key k) const {return _map[k].y;} |
| 696 | 692 | }; |
| 697 | 693 | |
| 698 | | ///Returns a \ref ConstYMap class |
| | 694 | ///Returns a ConstYMap class |
| 699 | 695 | |
| 700 | | ///This function just returns a \ref ConstYMap class. |
| | 696 | ///This function just returns a ConstYMap class. |
| 701 | 697 | /// |
| 702 | 698 | ///\ingroup maps |
| 703 | 699 | ///\relates ConstYMap |
| … |
… |
|
| 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 | 722 | Value operator[](Key k) const {return _map[k].normSquare();} |
| 728 | 723 | }; |
| 729 | 724 | |
| 730 | | ///Returns a \ref NormSquareMap class |
| | 725 | ///Returns a NormSquareMap class |
| 731 | 726 | |
| 732 | | ///This function just returns a \ref NormSquareMap class. |
| | 727 | ///This function just returns a NormSquareMap class. |
| 733 | 728 | /// |
| 734 | 729 | ///\ingroup maps |
| 735 | 730 | ///\relates NormSquareMap |
diff --git a/lemon/graph_to_eps.h b/lemon/graph_to_eps.h
|
a
|
b
|
|
| 62 | 62 | }; |
| 63 | 63 | } |
| 64 | 64 | |
| 65 | | ///Default traits class of \ref GraphToEps |
| | 65 | ///Default traits class of GraphToEps |
| 66 | 66 | |
| 67 | 67 | ///Default traits class of \ref GraphToEps. |
| 68 | 68 | /// |
diff --git a/lemon/list_graph.h b/lemon/list_graph.h
|
a
|
b
|
|
| 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 |
diff --git a/lemon/maps.h b/lemon/maps.h
|
a
|
b
|
|
| 43 | 43 | template<typename K, typename V> |
| 44 | 44 | class MapBase { |
| 45 | 45 | public: |
| 46 | | /// \biref The key type of the map. |
| | 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 | 2266 | /// \brief Constructor |
| 2267 | 2267 | /// |
| 2268 | 2268 | /// Constructor |
| 2269 | | /// \param _digraph The digraph that the map belongs to. |
| | 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 | 2305 | /// \brief Constructor |
| 2306 | 2306 | /// |
| 2307 | 2307 | /// Constructor |
| 2308 | | /// \param _digraph The digraph that the map belongs to. |
| | 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 | 2344 | /// \brief Constructor |
| 2345 | 2345 | /// |
| 2346 | 2346 | /// Constructor |
| 2347 | | /// \param _graph The graph that the map belongs to. |
| | 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 | 2383 | /// \brief Constructor |
| 2384 | 2384 | /// |
| 2385 | 2385 | /// Constructor |
| 2386 | | /// \param _graph The graph that the map belongs to. |
| | 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. |
diff --git a/lemon/path.h b/lemon/path.h
|
a
|
b
|
|
| 849 | 849 | /// \brief Return true when the path is empty. |
| 850 | 850 | int empty() const { return len == 0; } |
| 851 | 851 | |
| 852 | | /// \break Erase all arcs in the digraph. |
| | 852 | /// \brief Erase all arcs in the digraph. |
| 853 | 853 | void clear() { |
| 854 | 854 | len = 0; |
| 855 | 855 | if (arcs) delete[] arcs; |
diff --git a/lemon/smart_graph.h b/lemon/smart_graph.h
|
a
|
b
|
|
| 365 | 365 | ///Constructor that immediately makes a snapshot |
| 366 | 366 | |
| 367 | 367 | ///This constructor immediately makes a snapshot of the digraph. |
| 368 | | ///\param _g The digraph we make a snapshot of. |
| | 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 | 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 _g The digraph we make the snapshot of. |
| | 380 | ///\param graph The digraph we make the snapshot of. |
| 381 | 381 | void save(SmartDigraph &graph) |
| 382 | 382 | { |
| 383 | 383 | _graph=&graph; |
| … |
… |
|
| 775 | 775 | ///Constructor that immediately makes a snapshot |
| 776 | 776 | |
| 777 | 777 | ///This constructor immediately makes a snapshot of the digraph. |
| 778 | | ///\param g The digraph we make a snapshot of. |
| | 778 | ///\param graph The digraph we make a snapshot of. |
| 779 | 779 | Snapshot(SmartGraph &graph) { |
| 780 | 780 | graph.saveSnapshot(*this); |
| 781 | 781 | } |
| … |
… |
|
| 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 g The digraph we make the snapshot of. |
| | 789 | ///\param graph The digraph we make the snapshot of. |
| 790 | 790 | void save(SmartGraph &graph) |
| 791 | 791 | { |
| 792 | 792 | graph.saveSnapshot(*this); |
diff --git a/lemon/time_measure.h b/lemon/time_measure.h
|
a
|
b
|
|
| 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 | 471 | ///@} |
| 473 | 472 | }; |
| 474 | 473 | |
| 475 | | ///Same as \ref Timer but prints a report on destruction. |
| | 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 | 490 | std::string _title; |
| 492 | 491 | std::ostream &_os; |
| 493 | 492 | public: |
| 494 | | ///\e |
| | 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 | | ///\e Prints the ellapsed time on destruction. |
| | 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 \ref TimeReport |
| | 508 | ///'Do nothing' version of TimeReport |
| 510 | 509 | |
| 511 | 510 | ///\sa TimeReport |
| 512 | 511 | /// |