COIN-OR::LEMON - Graph Library

source: lemon-0.x/doc/groups.dox @ 1637:9d64d5672b88

Last change on this file since 1637:9d64d5672b88 was 1587:8f1c317ebeb4, checked in by Alpar Juttner, 19 years ago

Doc improvements

File size: 5.3 KB
Line 
1
2/**
3@defgroup datas Data Structures
4This group describes the several graph structures implemented in LEMON.
5*/
6
7/**
8@defgroup graphs Graph Structures
9@ingroup datas
10\brief Graph structures implemented in LEMON.
11
12The implementation of combinatorial algorithms heavily relies on
13efficient graph implementations. LEMON offers data structures which are
14planned to be easily used in an experimental phase of implementation studies,
15and thereafter the program code can be made efficient by small modifications.
16
17The most efficient implementation of diverse applications require the usage of different physical graph implementations. These differences appear in the size of
18graph we require to handle, memory or time usage limitations or in
19the set of operations through which the graph can be accessed.
20LEMON provides several physical graph structures to meet the
21diverging requirements of the possible users.
22In order to save on running time or on memory usage, some structures may
23fail to provide some graph features like edge or node deletion.
24
25Alteration of standard containers need a very limited number of
26operations, these together satisfy the everyday requirements.
27In the case of graph strutures, different operations are needed which do
28not alter the physical graph, but gives an other view. If some nodes or
29edges have to be hidden or the reverse oriented graph have to be used, then
30this is the case. It also may happen that in a flow implemenation
31the residual graph can be accessed by an other algorithm, or a node-set
32is to be shrunk for an other algorithm.
33LEMON also provides a variety of graphs for these requirements called
34\ref graph_adaptors "graph adaptors". Adaptors cannot be used alone but only
35in conjunction with other graph representation.
36
37You are free to use the graph structure that fit your requirements
38the best, most graph algorithms and auxiliary data structures can be used
39with any graph structures.
40*/
41
42/**
43@defgroup maps Maps
44@ingroup datas
45\brief Some special purpose map to make life easier.
46
47LEMON provides several special maps that e.g. combine
48new maps from existing ones.
49*/
50
51
52/**
53@defgroup graph_maps Graph Maps
54@ingroup maps
55\brief Special Graph-Related Maps.
56
57These maps are specifically designed to assign values to the nodes and edges of
58graphs.
59*/
60
61
62/**
63\defgroup map_adaptors Map Adaptors
64\ingroup maps
65\brief Tools to create new maps from existing ones
66
67Map adaptors are used to create "implicit" maps from other maps.
68
69Most of them are \ref lemon::concept::ReadMap "ReadMap"s. They can
70make arithmetic oprerations between one or two maps (negation, scalig,
71addition, multiplication etc.) or e.g. convert a map to another one
72of different Value type.
73*/
74
75/**
76@defgroup auxdat Auxiliary Data Structures
77@ingroup datas
78\brief Some data structures implemented in LEMON.
79
80This group describes the data structures implemented in LEMON in
81order to make it easier to implement combinatorial algorithms.
82*/
83
84/**
85@defgroup graphmapfactory Tools to Make It Easier to Make Graph Maps
86@ingroup auxdat
87\brief Tools to Make It Easier to Make Graph Maps.
88
89This group describes the tools that makes it easier to make graph maps that
90dynamically update with the graph changes.
91*/
92
93/**
94@defgroup galgs Graph Algorithms
95\brief This group describes the several graph algorithms
96implemented in LEMON.
97
98This group describes the several graph algorithms
99implemented in LEMON.
100*/
101
102/**
103@defgroup gutils General Graph Utilities
104\brief This group describes some simple general graph utilities.
105@ingroup galgs
106
107This group describes some simple general graph utilities.
108*/
109
110/**
111@defgroup gen_opt_group General Optimization Tools
112\brief This group describes some general optimization frameworks
113implemented in LEMON.
114
115\brief This group describes some general optimization frameworks
116implemented in LEMON.
117
118*/
119
120/**
121@defgroup flowalgs Path and Flow Algorithms
122@ingroup galgs
123\brief This group describes the algorithms
124for finding paths and flows in graphs.
125*/
126
127/**
128@defgroup exceptions Exceptions
129This group contains the exceptions thrown by LEMON library
130*/
131
132/**
133@defgroup misc Miscellaneous Tools
134Here you can find several useful tools for development,
135debugging and testing.
136*/
137
138/**
139@defgroup io_group Input Output
140Here you can find tools for imporing and exporting graphs and graph related
141data
142*/
143
144/**
145@defgroup concept Concepts
146\brief Skeleton classes and concept checking classes
147
148This group describes the data/algorithm skeletons and concept checking
149classes implemented in LEMON.
150
151One aim of these classes is to make it easier to check if a certain
152class or template function is correctly implemented.
153
154The other (sometimes even more important) aim is to document the concepts.
155
156*/
157
158/**
159@defgroup graph_concepts Graph Structure Concepts
160@ingroup concept
161\brief Skeleton and concept checking classes for graph structures
162
163This group contains the skeletons and concept checking classes of LEMON's
164graph structures and helper classes used to implement these.
165*/
166
167/* --- Unused group
168@defgroup experimental Experimental Structures and Algorithms
169This group contains some Experimental structures and algorithms.
170The stuff here is subject to change.
171*/
172
173/**
174\anchor demoprograms
175
176@defgroup demos Demo programs
177
178Some demo programs are listed here. Their full source codes can be found in
179the \c demo subdirectory of the source tree.
180
181The standard compilation procedure (<tt>./compile;make</tt>) will compile them,
182as well.
183
184*/
185
Note: See TracBrowser for help on using the repository browser.