1.1 --- a/doc/groups.dox Tue Feb 20 15:53:33 2007 +0000
1.2 +++ b/doc/groups.dox Wed Feb 21 13:30:21 2007 +0000
1.3 @@ -115,14 +115,6 @@
1.4 order to make it easier to implement combinatorial algorithms.
1.5 */
1.6
1.7 -/**
1.8 -@defgroup graphbits Tools to Make It Easier to Make Graphs
1.9 -@ingroup auxdat
1.10 -\brief Tools to Make It Easier to Make Graphs.
1.11 -
1.12 -This group describes the tools that makes it easier to make graphs and
1.13 -the maps that dynamically update with the graph changes.
1.14 -*/
1.15
1.16 /**
1.17 @defgroup algs Algorithms
1.18 @@ -134,27 +126,59 @@
1.19 */
1.20
1.21 /**
1.22 -@defgroup gutils Basic Graph Utilities
1.23 +@defgroup search Graph Search
1.24 @ingroup algs
1.25 -\brief This group describes some simple basic graph utilities.
1.26 +\brief This group contains the common graph
1.27 +search algorithms.
1.28
1.29 -This group describes some simple basic graph utilities.
1.30 +This group contains the common graph
1.31 +search algorithms like Bfs and Dfs.
1.32 */
1.33
1.34 /**
1.35 -@defgroup flowalgs Path and Flow Algorithms
1.36 +@defgroup shortest_path Shortest Path algorithms
1.37 @ingroup algs
1.38 \brief This group describes the algorithms
1.39 -for finding paths and flows in graphs.
1.40 +for finding shortest paths.
1.41
1.42 -This group describes the algorithms
1.43 -for finding paths and flows in graphs.
1.44 +This group describes the algorithms for finding shortest paths in
1.45 +graphs.
1.46 +
1.47 +*/
1.48 +
1.49 +/**
1.50 +@defgroup max_flow Maximum Flow algorithms
1.51 +@ingroup algs
1.52 +\brief This group describes the algorithms for finding maximum flows.
1.53 +
1.54 +This group describes the algorithms for finding maximum flows.
1.55
1.56 \image html flow.png
1.57 \image latex flow.eps "Graph flow" width=\textwidth
1.58 */
1.59
1.60 /**
1.61 +@defgroup min_cost_flow Minimum Cost Flow algorithms
1.62 +@ingroup algs
1.63 +
1.64 +\brief This group describes the algorithms
1.65 +for finding minimum cost flows and circulations.
1.66 +
1.67 +This group describes the algorithms for finding minimum cost flows and
1.68 +circulations.
1.69 +*/
1.70 +
1.71 +/**
1.72 +@defgroup min_cut Minimum Cut algorithms
1.73 +@ingroup algs
1.74 +\brief This group describes the algorithms
1.75 +for finding minimum cut in graphs.
1.76 +
1.77 +This group describes the algorithms
1.78 +for finding minimum cut in graphs.
1.79 +*/
1.80 +
1.81 +/**
1.82 @defgroup topology Topology related algorithms
1.83 @ingroup algs
1.84 \brief This group describes the algorithms
1.85 @@ -168,7 +192,7 @@
1.86 */
1.87
1.88 /**
1.89 -@defgroup matching Matching algorithms in graphs and bipartite graphs
1.90 +@defgroup matching Matching algorithms
1.91 @ingroup algs
1.92 \brief This group describes the algorithms
1.93 for find matchings in graphs and bipartite graphs.
1.94 @@ -182,7 +206,7 @@
1.95 */
1.96
1.97 /**
1.98 -@defgroup spantree Minimum Cost Spanning Tree Algorithms
1.99 +@defgroup spantree Minimum Spanning Tree algorithms
1.100 @ingroup algs
1.101 \brief This group contains the algorithms for finding a minimum cost spanning
1.102 tree in a graph
1.103 @@ -193,13 +217,19 @@
1.104
1.105
1.106 /**
1.107 -@defgroup auxalg Auxiliary Algorithms
1.108 +@defgroup auxalg Auxiliary algorithms
1.109 @ingroup algs
1.110 \brief Some algorithms implemented in LEMON.
1.111
1.112 This group describes the algorithms in LEMON in order to make
1.113 it easier to implement complex algorithms.
1.114 +*/
1.115
1.116 +/**
1.117 +@defgroup approx Approximation algorithms
1.118 +\brief Approximation algorithms
1.119 +
1.120 +Approximation and heuristic algorithms
1.121 */
1.122
1.123 /**
1.124 @@ -231,7 +261,6 @@
1.125
1.126 This group adds some helper tools to general optimization framework
1.127 implemented in LEMON.
1.128 -
1.129 */
1.130
1.131 /**
1.132 @@ -243,11 +272,28 @@
1.133 */
1.134
1.135 /**
1.136 +@defgroup utils Tools and Utilities
1.137 +\brief Tools and Utilities for Programming in LEMON
1.138 +
1.139 +Tools and Utilities for Programming in LEMON
1.140 +*/
1.141 +
1.142 +/**
1.143 +@defgroup gutils Basic Graph Utilities
1.144 +@ingroup utils
1.145 +\brief This group describes some simple basic graph utilities.
1.146 +
1.147 +This group describes some simple basic graph utilities.
1.148 +*/
1.149 +
1.150 +/**
1.151 @defgroup misc Miscellaneous Tools
1.152 +@ingroup utils
1.153 Here you can find several useful tools for development,
1.154 debugging and testing.
1.155 */
1.156
1.157 +
1.158 /**
1.159 @defgroup timecount Time measuring and Counting
1.160 @ingroup misc
1.161 @@ -256,6 +302,21 @@
1.162 */
1.163
1.164 /**
1.165 +@defgroup graphbits Tools for Graph Implementation
1.166 +@ingroup utils
1.167 +\brief Tools to Make It Easier to Make Graphs.
1.168 +
1.169 +This group describes the tools that makes it easier to make graphs and
1.170 +the maps that dynamically update with the graph changes.
1.171 +*/
1.172 +
1.173 +/**
1.174 +@defgroup exceptions Exceptions
1.175 +@ingroup utils
1.176 +This group contains the exceptions thrown by LEMON library
1.177 +*/
1.178 +
1.179 +/**
1.180 @defgroup io_group Input-Output
1.181 \brief Several Graph Input-Output methods
1.182
1.183 @@ -302,10 +363,6 @@
1.184 graph exporting tools.
1.185 */
1.186
1.187 -/**
1.188 -@defgroup exceptions Exceptions
1.189 -This group contains the exceptions thrown by LEMON library
1.190 -*/
1.191
1.192 /**
1.193 @defgroup concept Concepts
2.1 --- a/lemon/bellman_ford.h Tue Feb 20 15:53:33 2007 +0000
2.2 +++ b/lemon/bellman_ford.h Wed Feb 21 13:30:21 2007 +0000
2.3 @@ -19,7 +19,7 @@
2.4 #ifndef LEMON_BELMANN_FORD_H
2.5 #define LEMON_BELMANN_FORD_H
2.6
2.7 -/// \ingroup flowalgs
2.8 +/// \ingroup shortest_path
2.9 /// \file
2.10 /// \brief BellmanFord algorithm.
2.11 ///
2.12 @@ -144,7 +144,7 @@
2.13
2.14 /// \brief %BellmanFord algorithm class.
2.15 ///
2.16 - /// \ingroup flowalgs
2.17 + /// \ingroup shortest_path
2.18 /// This class provides an efficient implementation of \c Bellman-Ford
2.19 /// algorithm. The edge lengths are passed to the algorithm using a
2.20 /// \ref concepts::ReadMap "ReadMap", so it is easy to change it to any
2.21 @@ -1022,7 +1022,7 @@
2.22
2.23 /// \brief Function type interface for BellmanFord algorithm.
2.24 ///
2.25 - /// \ingroup flowalgs
2.26 + /// \ingroup shortest_path
2.27 /// Function type interface for BellmanFord algorithm.
2.28 ///
2.29 /// This function also has several \ref named-templ-func-param
3.1 --- a/lemon/bfs.h Tue Feb 20 15:53:33 2007 +0000
3.2 +++ b/lemon/bfs.h Wed Feb 21 13:30:21 2007 +0000
3.3 @@ -19,7 +19,7 @@
3.4 #ifndef LEMON_BFS_H
3.5 #define LEMON_BFS_H
3.6
3.7 -///\ingroup flowalgs
3.8 +///\ingroup search
3.9 ///\file
3.10 ///\brief Bfs algorithm.
3.11
3.12 @@ -112,7 +112,7 @@
3.13
3.14 ///%BFS algorithm class.
3.15
3.16 - ///\ingroup flowalgs
3.17 + ///\ingroup search
3.18 ///This class provides an efficient implementation of the %BFS algorithm.
3.19 ///
3.20 ///\param GR The graph type the algorithm runs on. The default value is
3.21 @@ -1073,7 +1073,7 @@
3.22
3.23 ///Function type interface for Bfs algorithm.
3.24
3.25 - /// \ingroup flowalgs
3.26 + /// \ingroup search
3.27 ///Function type interface for Bfs algorithm.
3.28 ///
3.29 ///This function also has several
3.30 @@ -1187,7 +1187,7 @@
3.31
3.32 /// %BFS Visit algorithm class.
3.33
3.34 - /// \ingroup flowalgs
3.35 + /// \ingroup search
3.36 /// This class provides an efficient implementation of the %BFS algorithm
3.37 /// with visitor interface.
3.38 ///
4.1 --- a/lemon/circulation.h Tue Feb 20 15:53:33 2007 +0000
4.2 +++ b/lemon/circulation.h Wed Feb 21 13:30:21 2007 +0000
4.3 @@ -23,7 +23,7 @@
4.4 #include <lemon/tolerance.h>
4.5 #include <lemon/elevator.h>
4.6
4.7 -///\ingroup flowalgs
4.8 +///\ingroup max_flow
4.9 ///\file
4.10 ///\brief Push-prelabel algorithm for finding a feasible circulation.
4.11 ///
5.1 --- a/lemon/csp.h Tue Feb 20 15:53:33 2007 +0000
5.2 +++ b/lemon/csp.h Wed Feb 21 13:30:21 2007 +0000
5.3 @@ -19,7 +19,7 @@
5.4 #ifndef LEMON_CSP_H
5.5 #define LEMON_CSP_H
5.6
5.7 -///\ingroup flowalgs
5.8 +///\ingroup approx
5.9 ///\file
5.10 ///\brief Algorithm for the Resource Constrained Shortest Path problem.
5.11 ///
6.1 --- a/lemon/dfs.h Tue Feb 20 15:53:33 2007 +0000
6.2 +++ b/lemon/dfs.h Wed Feb 21 13:30:21 2007 +0000
6.3 @@ -19,7 +19,7 @@
6.4 #ifndef LEMON_DFS_H
6.5 #define LEMON_DFS_H
6.6
6.7 -///\ingroup flowalgs
6.8 +///\ingroup search
6.9 ///\file
6.10 ///\brief Dfs algorithm.
6.11
6.12 @@ -114,7 +114,7 @@
6.13
6.14 ///%DFS algorithm class.
6.15
6.16 - ///\ingroup flowalgs
6.17 + ///\ingroup search
6.18 ///This class provides an efficient implementation of the %DFS algorithm.
6.19 ///
6.20 ///\param GR The graph type the algorithm runs on. The default value is
6.21 @@ -1047,7 +1047,7 @@
6.22
6.23 ///Function type interface for Dfs algorithm.
6.24
6.25 - /// \ingroup flowalgs
6.26 + ///\ingroup search
6.27 ///Function type interface for Dfs algorithm.
6.28 ///
6.29 ///This function also has several
6.30 @@ -1174,7 +1174,7 @@
6.31
6.32 /// %DFS Visit algorithm class.
6.33
6.34 - /// \ingroup flowalgs
6.35 + /// \ingroup search
6.36 /// This class provides an efficient implementation of the %DFS algorithm
6.37 /// with visitor interface.
6.38 ///
7.1 --- a/lemon/dijkstra.h Tue Feb 20 15:53:33 2007 +0000
7.2 +++ b/lemon/dijkstra.h Wed Feb 21 13:30:21 2007 +0000
7.3 @@ -19,7 +19,7 @@
7.4 #ifndef LEMON_DIJKSTRA_H
7.5 #define LEMON_DIJKSTRA_H
7.6
7.7 -///\ingroup flowalgs
7.8 +///\ingroup shortest_path
7.9 ///\file
7.10 ///\brief Dijkstra algorithm.
7.11 ///
7.12 @@ -140,7 +140,7 @@
7.13
7.14 ///%Dijkstra algorithm class.
7.15
7.16 - /// \ingroup flowalgs
7.17 + /// \ingroup shortest_path
7.18 ///This class provides an efficient implementation of %Dijkstra algorithm.
7.19 ///The edge lengths are passed to the algorithm using a
7.20 ///\ref concepts::ReadMap "ReadMap",
7.21 @@ -1107,7 +1107,7 @@
7.22
7.23 ///Function type interface for Dijkstra algorithm.
7.24
7.25 - /// \ingroup flowalgs
7.26 + /// \ingroup shortest_path
7.27 ///Function type interface for Dijkstra algorithm.
7.28 ///
7.29 ///This function also has several
8.1 --- a/lemon/edmonds_karp.h Tue Feb 20 15:53:33 2007 +0000
8.2 +++ b/lemon/edmonds_karp.h Wed Feb 21 13:30:21 2007 +0000
8.3 @@ -20,7 +20,7 @@
8.4 #define LEMON_EDMONDS_KARP_H
8.5
8.6 /// \file
8.7 -/// \ingroup flowalgs
8.8 +/// \ingroup max_flow
8.9 /// \brief Implementation of the Edmonds-Karp algorithm.
8.10
8.11 #include <lemon/graph_adaptor.h>
8.12 @@ -29,7 +29,7 @@
8.13
8.14 namespace lemon {
8.15
8.16 - /// \ingroup flowalgs
8.17 + /// \ingroup max_flow
8.18 /// \brief Edmonds-Karp algorithms class.
8.19 ///
8.20 /// This class provides an implementation of the \e Edmonds-Karp \e
9.1 --- a/lemon/floyd_warshall.h Tue Feb 20 15:53:33 2007 +0000
9.2 +++ b/lemon/floyd_warshall.h Wed Feb 21 13:30:21 2007 +0000
9.3 @@ -19,7 +19,7 @@
9.4 #ifndef LEMON_FLOYD_WARSHALL_H
9.5 #define LEMON_FLOYD_WARSHALL_H
9.6
9.7 -///\ingroup flowalgs
9.8 +///\ingroup shortest_path
9.9 /// \file
9.10 /// \brief FloydWarshall algorithm.
9.11 ///
9.12 @@ -147,7 +147,7 @@
9.13
9.14 /// \brief %FloydWarshall algorithm class.
9.15 ///
9.16 - /// \ingroup flowalgs
9.17 + /// \ingroup shortest_path
9.18 /// This class provides an efficient implementation of \c Floyd-Warshall
9.19 /// algorithm. The edge lengths are passed to the algorithm using a
9.20 /// \ref concepts::ReadMap "ReadMap", so it is easy to change it to any
10.1 --- a/lemon/hao_orlin.h Tue Feb 20 15:53:33 2007 +0000
10.2 +++ b/lemon/hao_orlin.h Wed Feb 21 13:30:21 2007 +0000
10.3 @@ -34,7 +34,7 @@
10.4 #include <lemon/iterable_maps.h>
10.5
10.6 /// \file
10.7 -/// \ingroup flowalgs
10.8 +/// \ingroup min_cut
10.9 /// \brief Implementation of the Hao-Orlin algorithm.
10.10 ///
10.11 /// Implementation of the HaoOrlin algorithms class for testing network
10.12 @@ -42,7 +42,7 @@
10.13
10.14 namespace lemon {
10.15
10.16 - /// \ingroup flowalgs
10.17 + /// \ingroup min_cut
10.18 ///
10.19 /// \brief %Hao-Orlin algorithm to find a minimum cut in directed graphs.
10.20 ///
11.1 --- a/lemon/johnson.h Tue Feb 20 15:53:33 2007 +0000
11.2 +++ b/lemon/johnson.h Wed Feb 21 13:30:21 2007 +0000
11.3 @@ -19,7 +19,7 @@
11.4 #ifndef LEMON_JOHNSON_H
11.5 #define LEMON_JOHNSON_H
11.6
11.7 -///\ingroup flowalgs
11.8 +///\ingroup shortest_path
11.9 /// \file
11.10 /// \brief Johnson algorithm.
11.11 ///
11.12 @@ -180,7 +180,7 @@
11.13
11.14 /// \brief %Johnson algorithm class.
11.15 ///
11.16 - /// \ingroup flowalgs
11.17 + /// \ingroup shortest_path
11.18 /// This class provides an efficient implementation of \c %Johnson
11.19 /// algorithm. The edge lengths are passed to the algorithm using a
11.20 /// \ref concepts::ReadMap "ReadMap", so it is easy to change it to any
12.1 --- a/lemon/matrix_maps.h Tue Feb 20 15:53:33 2007 +0000
12.2 +++ b/lemon/matrix_maps.h Wed Feb 21 13:30:21 2007 +0000
12.3 @@ -551,6 +551,9 @@
12.4 ///typename K2, typename V, typename R, typename CR> called as
12.5 ///"ReferenceMatrixMap".
12.6 ///
12.7 + ///\warning Do not use this map type when the two item sets are
12.8 + ///equal or based on the same item set.
12.9 + ///
12.10 ///\param _FirstContainer the desired type of first container. It is
12.11 ///ususally a Graph type, but can be any type with alteration
12.12 ///property.
13.1 --- a/lemon/nagamochi_ibaraki.h Tue Feb 20 15:53:33 2007 +0000
13.2 +++ b/lemon/nagamochi_ibaraki.h Wed Feb 21 13:30:21 2007 +0000
13.3 @@ -18,7 +18,7 @@
13.4 #define LEMON_NAGAMOCHI_IBARAKI_H
13.5
13.6
13.7 -/// \ingroup topology
13.8 +/// \ingroup min_cut
13.9 /// \file
13.10 /// \brief Maximum cardinality search and minimum cut in undirected
13.11 /// graphs.
13.12 @@ -156,7 +156,7 @@
13.13
13.14 };
13.15
13.16 - /// \ingroup topology
13.17 + /// \ingroup search
13.18 ///
13.19 /// \brief Maximum Cardinality Search algorithm class.
13.20 ///
13.21 @@ -832,7 +832,7 @@
13.22
13.23 };
13.24
13.25 - /// \ingroup topology
13.26 + /// \ingroup min_cut
13.27 ///
13.28 /// \brief Calculates the minimum cut in an undirected graph.
13.29 ///
14.1 --- a/lemon/preflow.h Tue Feb 20 15:53:33 2007 +0000
14.2 +++ b/lemon/preflow.h Wed Feb 21 13:30:21 2007 +0000
14.3 @@ -29,12 +29,12 @@
14.4 #include <lemon/graph_utils.h>
14.5
14.6 /// \file
14.7 -/// \ingroup flowalgs
14.8 +/// \ingroup max_flow
14.9 /// \brief Implementation of the preflow algorithm.
14.10
14.11 namespace lemon {
14.12
14.13 - ///\ingroup flowalgs
14.14 + ///\ingroup max_flow
14.15 ///\brief %Preflow algorithms class.
14.16 ///
14.17 ///This class provides an implementation of the \e preflow \e
14.18 @@ -890,7 +890,7 @@
14.19
14.20 };
14.21
14.22 - ///\ingroup flowalgs
14.23 + ///\ingroup max_flow
14.24 ///\brief Function type interface for Preflow algorithm.
14.25 ///
14.26 ///Function type interface for Preflow algorithm.
15.1 --- a/lemon/ssp_min_cost_flow.h Tue Feb 20 15:53:33 2007 +0000
15.2 +++ b/lemon/ssp_min_cost_flow.h Wed Feb 21 13:30:21 2007 +0000
15.3 @@ -19,7 +19,7 @@
15.4 #ifndef LEMON_MIN_COST_FLOW_H
15.5 #define LEMON_MIN_COST_FLOW_H
15.6
15.7 -///\ingroup flowalgs
15.8 +///\ingroup min_cost_flow
15.9 ///
15.10 ///\file
15.11 ///\brief An algorithm for finding a flow of value \c k (for
15.12 @@ -33,7 +33,7 @@
15.13
15.14 namespace lemon {
15.15
15.16 - /// \addtogroup flowalgs
15.17 + /// \addtogroup min_cost_flow
15.18 /// @{
15.19
15.20 /// \brief Implementation of an algorithm for finding a flow of
16.1 --- a/lemon/suurballe.h Tue Feb 20 15:53:33 2007 +0000
16.2 +++ b/lemon/suurballe.h Wed Feb 21 13:30:21 2007 +0000
16.3 @@ -31,7 +31,7 @@
16.4
16.5 namespace lemon {
16.6
16.7 -/// \addtogroup flowalgs
16.8 +/// \addtogroup shortest_path
16.9 /// @{
16.10
16.11 ///\brief Implementation of an algorithm for finding k edge-disjoint