[Lemon-commits] [lemon_svn] alpar: r2827 - in hugo/trunk: doc lemon lemon/concept
Lemon SVN
svn at lemon.cs.elte.hu
Mon Nov 6 21:50:39 CET 2006
Author: alpar
Date: Tue Jul 4 19:49:01 2006
New Revision: 2827
Modified:
hugo/trunk/doc/groups.dox
hugo/trunk/lemon/concept/graph.h
hugo/trunk/lemon/list_graph.h
Log:
- Revised "Concepts" group documentation
- Other minor doc improvements
Modified: hugo/trunk/doc/groups.dox
==============================================================================
--- hugo/trunk/doc/groups.dox (original)
+++ hugo/trunk/doc/groups.dox Tue Jul 4 19:49:01 2006
@@ -25,10 +25,10 @@
Alteration of standard containers need a very limited number of
operations, these together satisfy the everyday requirements.
-In the case of graph strutures, different operations are needed which do
+In the case of graph structures, different operations are needed which do
not alter the physical graph, but gives another view. If some nodes or
edges have to be hidden or the reverse oriented graph have to be used, then
-this is the case. It also may happen that in a flow implemenation
+this is the case. It also may happen that in a flow implementation
the residual graph can be accessed by another algorithm, or a node-set
is to be shrunk for another algorithm.
LEMON also provides a variety of graphs for these requirements called
@@ -45,9 +45,9 @@
@ingroup graphs
\brief Graph types between real graphs and graph adaptors.
-Graph types between real graphs and graph adaptors. These classes
-wrap graphs to give new functionality as the adaptors do it. But the
-other way they are not light-weigth structures as the adaptors.
+Graph types between real graphs and graph adaptors. These classes wrap
+graphs to give new functionality as the adaptors do it. On the other
+hand they are not light-weight structures as the adaptors.
*/
/**
@@ -77,7 +77,7 @@
Map adaptors are used to create "implicit" maps from other maps.
Most of them are \ref lemon::concept::ReadMap "ReadMap"s. They can
-make arithmetic oprerations between one or two maps (negation, scaling,
+make arithmetic operations between one or two maps (negation, scaling,
addition, multiplication etc.) or e.g. convert a map to another one
of different Value type.
*/
@@ -185,10 +185,10 @@
/**
@defgroup spantree Minimum Cost Spanning Tree Algorithms
@ingroup algs
-\brief This group containes the algorithms for finding a minimum cost spanning
+\brief This group contains the algorithms for finding a minimum cost spanning
tree in a graph
-This group containes the algorithms for finding a minimum cost spanning
+This group contains the algorithms for finding a minimum cost spanning
tree in a graph
*/
@@ -232,7 +232,7 @@
Here you can find tools for importing and exporting graphs
and graph related data. Now it supports the LEMON format, the
-dimacs format and the encapsulated postscript format.
+\c DIMACS format and the encapsulated postscript format.
*/
/**
@@ -268,9 +268,9 @@
/**
@defgroup eps_io Postscript exporting
@ingroup io_group
-\brief General EPS drawer and graph exporter
+\brief General \c EPS drawer and graph exporter
-This group contains general EPS drawing methods and special
+This group contains general \c EPS drawing methods and special
graph exporting tools.
*/
@@ -286,10 +286,26 @@
This group describes the data/algorithm skeletons and concept checking
classes implemented in LEMON.
-One aim of these classes is to make it easier to check if a certain
-class or template function is correctly implemented.
+The purpose of the classes in this group is fourfold.
+
+- These classes contain the documentations of the concepts. In order
+ to avoid document multiplications, an implementation of a concept
+ simply refers to the corresponding concept class.
+
+- These classes declare every functions, <tt>typedef<tt>s etc. an
+ implementation of the concepts should provide, however completely
+ without implementations and real data structures behind the
+ interface. On the other hand they should provide nothing else. All
+ the algorithms working on a data structure meeting a certain concept
+ should compile with these classes. (Though it will not run properly,
+ of course.) In this way it is easily to check if an algorithm
+ doesn't use any extra feature of a certain implementation.
+
+- The concept descriptor classes also provide a <em>checker class<em>
+ that makes it possible check whether a certain implementation of a
+ concept indeed provides all the required features.
-The other (sometimes even more important) aim is to document the concepts.
+- Finally, They can serve as a skeleton of a new implementation of a concept.
*/
Modified: hugo/trunk/lemon/concept/graph.h
==============================================================================
--- hugo/trunk/lemon/concept/graph.h (original)
+++ hugo/trunk/lemon/concept/graph.h Tue Jul 4 19:49:01 2006
@@ -59,24 +59,15 @@
/// \addtogroup graph_concepts
/// @{
- /// An empty graph class.
-
- /// This class provides all the common features of a graph structure,
- /// however completely without implementations and real data structures
- /// behind the interface.
- /// All graph algorithms should compile with this class, but it will not
- /// run properly, of course.
+ /// The directed graph concept
+
+ /// This class describes the \ref concept "concept" of the
+ /// immutable directed graphs.
///
- /// It can be used for checking the interface compatibility,
- /// or it can serve as a skeleton of a new graph structure.
- ///
- /// Also, you will find here the full documentation of a certain graph
- /// feature, the documentation of a real graph imlementation
- /// like @ref ListGraph or
- /// @ref SmartGraph will just refer to this structure.
+ /// Note that actual graph implementation like @ref ListGraph or
+ /// @ref SmartGraph may have several additional functionality.
///
- /// \todo A pages describing the concept of concept description would
- /// be nice.
+ /// \sa concept
class Graph {
public:
///\e
Modified: hugo/trunk/lemon/list_graph.h
==============================================================================
--- hugo/trunk/lemon/list_graph.h (original)
+++ hugo/trunk/lemon/list_graph.h Tue Jul 4 19:49:01 2006
@@ -314,9 +314,9 @@
///A list graph class.
- ///This is a simple and fast erasable graph implementation.
+ ///This is a simple and fast graph implementation.
///
- ///It conforms to the \ref concept::Graph "Graph" concept and it
+ ///It conforms to the \ref concept::Graph "Graph concept" and it
///also provides several additional useful extra functionalities.
///The most of the member functions and nested classes are
///documented only in the concept class.
@@ -717,10 +717,10 @@
///An undirected list graph class.
- ///This is a simple and fast erasable undirected graph implementation.
+ ///This is a simple and fast undirected graph implementation.
///
///It conforms to the
- ///\ref concept::UGraph "UGraph" concept.
+ ///\ref concept::UGraph "UGraph concept".
///
///\sa concept::UGraph.
///
@@ -1145,8 +1145,7 @@
/// \brief A smart bipartite undirected graph class.
///
/// This is a bipartite undirected graph implementation.
- /// It is conforms to the \ref concept::ErasableBpUGraph "ErasableBpUGraph"
- /// concept.
+ /// It is conforms to the \ref concept::BpUGraph "BpUGraph concept".
/// \sa concept::BpUGraph.
///
class ListBpUGraph : public ExtendedListBpUGraphBase {};
More information about the Lemon-commits
mailing list