# HG changeset patch # User deba # Date 1172064621 0 # Node ID 0ed45a6c74b1b0c8dff020c2777805789e8a8efd # Parent e30a0fdad0d7b3085d82d1290afb6f754513bc23 Reorganization of the modules and groups diff -r e30a0fdad0d7 -r 0ed45a6c74b1 doc/groups.dox --- a/doc/groups.dox Tue Feb 20 15:53:33 2007 +0000 +++ b/doc/groups.dox Wed Feb 21 13:30:21 2007 +0000 @@ -115,14 +115,6 @@ order to make it easier to implement combinatorial algorithms. */ -/** -@defgroup graphbits Tools to Make It Easier to Make Graphs -@ingroup auxdat -\brief Tools to Make It Easier to Make Graphs. - -This group describes the tools that makes it easier to make graphs and -the maps that dynamically update with the graph changes. -*/ /** @defgroup algs Algorithms @@ -134,27 +126,59 @@ */ /** -@defgroup gutils Basic Graph Utilities +@defgroup search Graph Search @ingroup algs -\brief This group describes some simple basic graph utilities. +\brief This group contains the common graph +search algorithms. -This group describes some simple basic graph utilities. +This group contains the common graph +search algorithms like Bfs and Dfs. */ /** -@defgroup flowalgs Path and Flow Algorithms +@defgroup shortest_path Shortest Path algorithms @ingroup algs \brief This group describes the algorithms -for finding paths and flows in graphs. +for finding shortest paths. -This group describes the algorithms -for finding paths and flows in graphs. +This group describes the algorithms for finding shortest paths in +graphs. + +*/ + +/** +@defgroup max_flow Maximum Flow algorithms +@ingroup algs +\brief This group describes the algorithms for finding maximum flows. + +This group describes the algorithms for finding maximum flows. \image html flow.png \image latex flow.eps "Graph flow" width=\textwidth */ /** +@defgroup min_cost_flow Minimum Cost Flow algorithms +@ingroup algs + +\brief This group describes the algorithms +for finding minimum cost flows and circulations. + +This group describes the algorithms for finding minimum cost flows and +circulations. +*/ + +/** +@defgroup min_cut Minimum Cut algorithms +@ingroup algs +\brief This group describes the algorithms +for finding minimum cut in graphs. + +This group describes the algorithms +for finding minimum cut in graphs. +*/ + +/** @defgroup topology Topology related algorithms @ingroup algs \brief This group describes the algorithms @@ -168,7 +192,7 @@ */ /** -@defgroup matching Matching algorithms in graphs and bipartite graphs +@defgroup matching Matching algorithms @ingroup algs \brief This group describes the algorithms for find matchings in graphs and bipartite graphs. @@ -182,7 +206,7 @@ */ /** -@defgroup spantree Minimum Cost Spanning Tree Algorithms +@defgroup spantree Minimum Spanning Tree algorithms @ingroup algs \brief This group contains the algorithms for finding a minimum cost spanning tree in a graph @@ -193,13 +217,19 @@ /** -@defgroup auxalg Auxiliary Algorithms +@defgroup auxalg Auxiliary algorithms @ingroup algs \brief Some algorithms implemented in LEMON. This group describes the algorithms in LEMON in order to make it easier to implement complex algorithms. +*/ +/** +@defgroup approx Approximation algorithms +\brief Approximation algorithms + +Approximation and heuristic algorithms */ /** @@ -231,7 +261,6 @@ This group adds some helper tools to general optimization framework implemented in LEMON. - */ /** @@ -243,11 +272,28 @@ */ /** +@defgroup utils Tools and Utilities +\brief Tools and Utilities for Programming in LEMON + +Tools and Utilities for Programming in LEMON +*/ + +/** +@defgroup gutils Basic Graph Utilities +@ingroup utils +\brief This group describes some simple basic graph utilities. + +This group describes some simple basic graph utilities. +*/ + +/** @defgroup misc Miscellaneous Tools +@ingroup utils Here you can find several useful tools for development, debugging and testing. */ + /** @defgroup timecount Time measuring and Counting @ingroup misc @@ -256,6 +302,21 @@ */ /** +@defgroup graphbits Tools for Graph Implementation +@ingroup utils +\brief Tools to Make It Easier to Make Graphs. + +This group describes the tools that makes it easier to make graphs and +the maps that dynamically update with the graph changes. +*/ + +/** +@defgroup exceptions Exceptions +@ingroup utils +This group contains the exceptions thrown by LEMON library +*/ + +/** @defgroup io_group Input-Output \brief Several Graph Input-Output methods @@ -302,10 +363,6 @@ graph exporting tools. */ -/** -@defgroup exceptions Exceptions -This group contains the exceptions thrown by LEMON library -*/ /** @defgroup concept Concepts diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/bellman_ford.h --- a/lemon/bellman_ford.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/bellman_ford.h Wed Feb 21 13:30:21 2007 +0000 @@ -19,7 +19,7 @@ #ifndef LEMON_BELMANN_FORD_H #define LEMON_BELMANN_FORD_H -/// \ingroup flowalgs +/// \ingroup shortest_path /// \file /// \brief BellmanFord algorithm. /// @@ -144,7 +144,7 @@ /// \brief %BellmanFord algorithm class. /// - /// \ingroup flowalgs + /// \ingroup shortest_path /// This class provides an efficient implementation of \c Bellman-Ford /// algorithm. The edge lengths are passed to the algorithm using a /// \ref concepts::ReadMap "ReadMap", so it is easy to change it to any @@ -1022,7 +1022,7 @@ /// \brief Function type interface for BellmanFord algorithm. /// - /// \ingroup flowalgs + /// \ingroup shortest_path /// Function type interface for BellmanFord algorithm. /// /// This function also has several \ref named-templ-func-param diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/bfs.h --- a/lemon/bfs.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/bfs.h Wed Feb 21 13:30:21 2007 +0000 @@ -19,7 +19,7 @@ #ifndef LEMON_BFS_H #define LEMON_BFS_H -///\ingroup flowalgs +///\ingroup search ///\file ///\brief Bfs algorithm. @@ -112,7 +112,7 @@ ///%BFS algorithm class. - ///\ingroup flowalgs + ///\ingroup search ///This class provides an efficient implementation of the %BFS algorithm. /// ///\param GR The graph type the algorithm runs on. The default value is @@ -1073,7 +1073,7 @@ ///Function type interface for Bfs algorithm. - /// \ingroup flowalgs + /// \ingroup search ///Function type interface for Bfs algorithm. /// ///This function also has several @@ -1187,7 +1187,7 @@ /// %BFS Visit algorithm class. - /// \ingroup flowalgs + /// \ingroup search /// This class provides an efficient implementation of the %BFS algorithm /// with visitor interface. /// diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/circulation.h --- a/lemon/circulation.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/circulation.h Wed Feb 21 13:30:21 2007 +0000 @@ -23,7 +23,7 @@ #include #include -///\ingroup flowalgs +///\ingroup max_flow ///\file ///\brief Push-prelabel algorithm for finding a feasible circulation. /// diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/csp.h --- a/lemon/csp.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/csp.h Wed Feb 21 13:30:21 2007 +0000 @@ -19,7 +19,7 @@ #ifndef LEMON_CSP_H #define LEMON_CSP_H -///\ingroup flowalgs +///\ingroup approx ///\file ///\brief Algorithm for the Resource Constrained Shortest Path problem. /// diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/dfs.h --- a/lemon/dfs.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/dfs.h Wed Feb 21 13:30:21 2007 +0000 @@ -19,7 +19,7 @@ #ifndef LEMON_DFS_H #define LEMON_DFS_H -///\ingroup flowalgs +///\ingroup search ///\file ///\brief Dfs algorithm. @@ -114,7 +114,7 @@ ///%DFS algorithm class. - ///\ingroup flowalgs + ///\ingroup search ///This class provides an efficient implementation of the %DFS algorithm. /// ///\param GR The graph type the algorithm runs on. The default value is @@ -1047,7 +1047,7 @@ ///Function type interface for Dfs algorithm. - /// \ingroup flowalgs + ///\ingroup search ///Function type interface for Dfs algorithm. /// ///This function also has several @@ -1174,7 +1174,7 @@ /// %DFS Visit algorithm class. - /// \ingroup flowalgs + /// \ingroup search /// This class provides an efficient implementation of the %DFS algorithm /// with visitor interface. /// diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/dijkstra.h --- a/lemon/dijkstra.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/dijkstra.h Wed Feb 21 13:30:21 2007 +0000 @@ -19,7 +19,7 @@ #ifndef LEMON_DIJKSTRA_H #define LEMON_DIJKSTRA_H -///\ingroup flowalgs +///\ingroup shortest_path ///\file ///\brief Dijkstra algorithm. /// @@ -140,7 +140,7 @@ ///%Dijkstra algorithm class. - /// \ingroup flowalgs + /// \ingroup shortest_path ///This class provides an efficient implementation of %Dijkstra algorithm. ///The edge lengths are passed to the algorithm using a ///\ref concepts::ReadMap "ReadMap", @@ -1107,7 +1107,7 @@ ///Function type interface for Dijkstra algorithm. - /// \ingroup flowalgs + /// \ingroup shortest_path ///Function type interface for Dijkstra algorithm. /// ///This function also has several diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/edmonds_karp.h --- a/lemon/edmonds_karp.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/edmonds_karp.h Wed Feb 21 13:30:21 2007 +0000 @@ -20,7 +20,7 @@ #define LEMON_EDMONDS_KARP_H /// \file -/// \ingroup flowalgs +/// \ingroup max_flow /// \brief Implementation of the Edmonds-Karp algorithm. #include @@ -29,7 +29,7 @@ namespace lemon { - /// \ingroup flowalgs + /// \ingroup max_flow /// \brief Edmonds-Karp algorithms class. /// /// This class provides an implementation of the \e Edmonds-Karp \e diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/floyd_warshall.h --- a/lemon/floyd_warshall.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/floyd_warshall.h Wed Feb 21 13:30:21 2007 +0000 @@ -19,7 +19,7 @@ #ifndef LEMON_FLOYD_WARSHALL_H #define LEMON_FLOYD_WARSHALL_H -///\ingroup flowalgs +///\ingroup shortest_path /// \file /// \brief FloydWarshall algorithm. /// @@ -147,7 +147,7 @@ /// \brief %FloydWarshall algorithm class. /// - /// \ingroup flowalgs + /// \ingroup shortest_path /// This class provides an efficient implementation of \c Floyd-Warshall /// algorithm. The edge lengths are passed to the algorithm using a /// \ref concepts::ReadMap "ReadMap", so it is easy to change it to any diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/hao_orlin.h --- a/lemon/hao_orlin.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/hao_orlin.h Wed Feb 21 13:30:21 2007 +0000 @@ -34,7 +34,7 @@ #include /// \file -/// \ingroup flowalgs +/// \ingroup min_cut /// \brief Implementation of the Hao-Orlin algorithm. /// /// Implementation of the HaoOrlin algorithms class for testing network @@ -42,7 +42,7 @@ namespace lemon { - /// \ingroup flowalgs + /// \ingroup min_cut /// /// \brief %Hao-Orlin algorithm to find a minimum cut in directed graphs. /// diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/johnson.h --- a/lemon/johnson.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/johnson.h Wed Feb 21 13:30:21 2007 +0000 @@ -19,7 +19,7 @@ #ifndef LEMON_JOHNSON_H #define LEMON_JOHNSON_H -///\ingroup flowalgs +///\ingroup shortest_path /// \file /// \brief Johnson algorithm. /// @@ -180,7 +180,7 @@ /// \brief %Johnson algorithm class. /// - /// \ingroup flowalgs + /// \ingroup shortest_path /// This class provides an efficient implementation of \c %Johnson /// algorithm. The edge lengths are passed to the algorithm using a /// \ref concepts::ReadMap "ReadMap", so it is easy to change it to any diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/matrix_maps.h --- a/lemon/matrix_maps.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/matrix_maps.h Wed Feb 21 13:30:21 2007 +0000 @@ -551,6 +551,9 @@ ///typename K2, typename V, typename R, typename CR> called as ///"ReferenceMatrixMap". /// + ///\warning Do not use this map type when the two item sets are + ///equal or based on the same item set. + /// ///\param _FirstContainer the desired type of first container. It is ///ususally a Graph type, but can be any type with alteration ///property. diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/nagamochi_ibaraki.h --- a/lemon/nagamochi_ibaraki.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/nagamochi_ibaraki.h Wed Feb 21 13:30:21 2007 +0000 @@ -18,7 +18,7 @@ #define LEMON_NAGAMOCHI_IBARAKI_H -/// \ingroup topology +/// \ingroup min_cut /// \file /// \brief Maximum cardinality search and minimum cut in undirected /// graphs. @@ -156,7 +156,7 @@ }; - /// \ingroup topology + /// \ingroup search /// /// \brief Maximum Cardinality Search algorithm class. /// @@ -832,7 +832,7 @@ }; - /// \ingroup topology + /// \ingroup min_cut /// /// \brief Calculates the minimum cut in an undirected graph. /// diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/preflow.h --- a/lemon/preflow.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/preflow.h Wed Feb 21 13:30:21 2007 +0000 @@ -29,12 +29,12 @@ #include /// \file -/// \ingroup flowalgs +/// \ingroup max_flow /// \brief Implementation of the preflow algorithm. namespace lemon { - ///\ingroup flowalgs + ///\ingroup max_flow ///\brief %Preflow algorithms class. /// ///This class provides an implementation of the \e preflow \e @@ -890,7 +890,7 @@ }; - ///\ingroup flowalgs + ///\ingroup max_flow ///\brief Function type interface for Preflow algorithm. /// ///Function type interface for Preflow algorithm. diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/ssp_min_cost_flow.h --- a/lemon/ssp_min_cost_flow.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/ssp_min_cost_flow.h Wed Feb 21 13:30:21 2007 +0000 @@ -19,7 +19,7 @@ #ifndef LEMON_MIN_COST_FLOW_H #define LEMON_MIN_COST_FLOW_H -///\ingroup flowalgs +///\ingroup min_cost_flow /// ///\file ///\brief An algorithm for finding a flow of value \c k (for @@ -33,7 +33,7 @@ namespace lemon { - /// \addtogroup flowalgs + /// \addtogroup min_cost_flow /// @{ /// \brief Implementation of an algorithm for finding a flow of diff -r e30a0fdad0d7 -r 0ed45a6c74b1 lemon/suurballe.h --- a/lemon/suurballe.h Tue Feb 20 15:53:33 2007 +0000 +++ b/lemon/suurballe.h Wed Feb 21 13:30:21 2007 +0000 @@ -31,7 +31,7 @@ namespace lemon { -/// \addtogroup flowalgs +/// \addtogroup shortest_path /// @{ ///\brief Implementation of an algorithm for finding k edge-disjoint