Changeset 921:818510fa3d99 in lemon-0.x for doc
- Timestamp:
- 09/29/04 17:30:04 (20 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1232
- Location:
- doc
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/coding_style.dox
r811 r921 1 1 /*! 2 2 3 \page coding_style HugoCoding Style3 \page coding_style LEMON Coding Style 4 4 5 5 \section naming_conv Naming Conventions … … 10 10 are met in one's code then it is easier to read and maintain 11 11 it. Please comply with these conventions if you want to contribute 12 developing Hugolibrary.12 developing LEMON library. 13 13 14 14 \subsection cs-class Classes and other types -
doc/graphs.dox
r911 r921 3 3 \page graphs How to use graphs 4 4 5 The primary data structures of HugoLibare the graph classes. They all5 The primary data structures of LEMON are the graph classes. They all 6 6 provide a node list - edge list interface, i.e. they have 7 7 functionalities to list the nodes and the edges of the graph as well … … 10 10 11 11 Each graph should meet the 12 \ref hugo::skeleton::StaticGraph "StaticGraph" concept.12 \ref lemon::skeleton::StaticGraph "StaticGraph" concept. 13 13 This concept does not 14 14 makes it possible to change the graph (i.e. it is not possible to add … … 17 17 18 18 The graphs meeting the 19 \ref hugo::skeleton::ExtendableGraph "ExtendableGraph"19 \ref lemon::skeleton::ExtendableGraph "ExtendableGraph" 20 20 concept allow node and 21 21 edge addition. You can also "clear" (i.e. erase all edges and nodes) … … 23 23 24 24 In case of graphs meeting the full feature 25 \ref hugo::skeleton::ErasableGraph "ErasableGraph"25 \ref lemon::skeleton::ErasableGraph "ErasableGraph" 26 26 concept 27 27 you can also erase individual edges and node in arbitrary order. 28 28 29 29 The implemented graph structures are the following. 30 \li \ref hugo::ListGraph "ListGraph" is the most versatile graph class. It meets31 the \ref hugo::skeleton::ErasableGraph "ErasableGraph" concept30 \li \ref lemon::ListGraph "ListGraph" is the most versatile graph class. It meets 31 the \ref lemon::skeleton::ErasableGraph "ErasableGraph" concept 32 32 and it also have some convenience features. 33 \li \ref hugo::SmartGraph "SmartGraph" is a more memory34 efficient version of \ref hugo::ListGraph "ListGraph". The33 \li \ref lemon::SmartGraph "SmartGraph" is a more memory 34 efficient version of \ref lemon::ListGraph "ListGraph". The 35 35 price of it is that it only meets the 36 \ref hugo::skeleton::ExtendableGraph "ExtendableGraph" concept,36 \ref lemon::skeleton::ExtendableGraph "ExtendableGraph" concept, 37 37 so you cannot delete individual edges or nodes. 38 \li \ref hugo::SymListGraph "SymListGraph" and39 \ref hugo::SymSmartGraph "SymSmartGraph" classes are very similar to40 \ref hugo::ListGraph "ListGraph" and \ref hugo::SmartGraph "SmartGraph".38 \li \ref lemon::SymListGraph "SymListGraph" and 39 \ref lemon::SymSmartGraph "SymSmartGraph" classes are very similar to 40 \ref lemon::ListGraph "ListGraph" and \ref lemon::SmartGraph "SmartGraph". 41 41 The difference is that whenever you add a 42 42 new edge to the graph, it actually adds a pair of oppositely directed edges. … … 45 45 attach data to the edges in such a way that the stored data 46 46 are shared by the edge pairs. 47 \li \ref hugo::FullGraph "FullGraph"48 implements a full graph. It is a \ref hugo::skeleton::StaticGraph, so you cannot47 \li \ref lemon::FullGraph "FullGraph" 48 implements a full graph. It is a \ref lemon::skeleton::StaticGraph, so you cannot 49 49 change the number of nodes once it is constructed. It is extremely memory 50 50 efficient: it uses constant amount of memory independently from the number of … … 52 52 \ref maps "EdgeMap"'s will depend on the number of nodes. 53 53 54 \li \ref hugo::NodeSet "NodeSet" implements a graph with no edges. This class55 can be used as a base class of \ref hugo::EdgeSet "EdgeSet".56 \li \ref hugo::EdgeSet "EdgeSet" can be used to create a new graph on54 \li \ref lemon::NodeSet "NodeSet" implements a graph with no edges. This class 55 can be used as a base class of \ref lemon::EdgeSet "EdgeSet". 56 \li \ref lemon::EdgeSet "EdgeSet" can be used to create a new graph on 57 57 the node set of another graph. The base graph can be an arbitrary graph and it 58 is possible to attach several \ref hugo::EdgeSet "EdgeSet"'s to a base graph.58 is possible to attach several \ref lemon::EdgeSet "EdgeSet"'s to a base graph. 59 59 60 60 \todo Don't we need SmartNodeSet and SmartEdgeSet? … … 66 66 to dynamically attach data the to graph components. 67 67 68 The following program demonstrates the basic features of HugoLib's graph68 The following program demonstrates the basic features of LEMON's graph 69 69 structures. 70 70 71 71 \code 72 72 #include <iostream> 73 #include < hugo/list_graph.h>73 #include <lemon/list_graph.h> 74 74 75 using namespace hugo;75 using namespace lemon; 76 76 77 77 int main() … … 80 80 \endcode 81 81 82 ListGraph is one of HugoLib's graph classes. It is based on linked lists,82 ListGraph is one of LEMON's graph classes. It is based on linked lists, 83 83 therefore iterating throuh its edges and nodes is fast. 84 84 … … 115 115 step to the next node. Using operator++ on the iterator pointing to the last 116 116 node invalidates the iterator i.e. sets its value to 117 \ref hugo::INVALID "INVALID". This is what we exploit in the stop condition.117 \ref lemon::INVALID "INVALID". This is what we exploit in the stop condition. 118 118 119 119 The previous code fragment prints out the following: … … 182 182 183 183 As we mentioned above, graphs are not containers rather 184 incidence structures which are iterable in many ways. HugoLibintroduces184 incidence structures which are iterable in many ways. LEMON introduces 185 185 concepts that allow us to attach containers to graphs. These containers are 186 186 called maps. -
doc/groups.dox
r814 r921 2 2 /** 3 3 @defgroup datas Data Structures 4 This group describes the several graph structures implemented in HugoLib.4 This group describes the several graph structures implemented in LEMON. 5 5 */ 6 6 … … 8 8 @defgroup graphs Graph Structures 9 9 @ingroup datas 10 \brief Graph structures implemented in Hugo.10 \brief Graph structures implemented in LEMON. 11 11 12 Hugolibprovides several data structures to meet the diverging requirements12 LEMON provides several data structures to meet the diverging requirements 13 13 of the possible users. 14 14 In order to save on running time or on memory usage, some structures may … … 16 16 some graph features like edge or node deletion. 17 17 18 Hugolibalso offers special graphs that cannot be used alone but only18 LEMON also offers special graphs that cannot be used alone but only 19 19 in conjunction with other graph representation. The examples for this are 20 \ref hugo::EdgeSet "EdgeSet", \ref hugo::NodeSet "NodeSet"20 \ref lemon::EdgeSet "EdgeSet", \ref lemon::NodeSet "NodeSet" 21 21 and the large variety of \ref gwrappers "graph wrappers". 22 22 … … 29 29 @defgroup auxdat Auxiliary Data Structures 30 30 @ingroup datas 31 \brief Some data structures implemented in HugoLib.31 \brief Some data structures implemented in LEMON. 32 32 33 This group describes the data structures implemented in HugoLibin33 This group describes the data structures implemented in LEMON in 34 34 order to make it easier to implement combinatorial algorithms. 35 35 */ … … 53 53 @defgroup galgs Graph Algorithms 54 54 \brief This group describes the several graph algorithms 55 implemented in HugoLib.55 implemented in LEMON. 56 56 */ 57 57 … … 73 73 \brief Skeletons (a.k.a. concept checking classes) 74 74 75 This group describes the data/algorithm skeletons implemented in HugoLibin75 This group describes the data/algorithm skeletons implemented in LEMON in 76 76 order to make it easier to check if a certain template class or 77 77 template function is correctly implemented. -
doc/mainpage.dox
r678 r921 4 4 \section intro Introduction 5 5 6 \subsection whatis What is HugoLib6 \subsection whatis What is LEMON 7 7 8 HugoLib stands for Hungarian Graph Optimization Library. 8 LEMON stands for 9 <it>L</it>ibrary of <it>E</it>fficient <it>M</it>odels 10 and <it>O</it>ptimization in <it>N</it>etworks. 9 11 It is a C++ template 10 12 library aimed at combinatorial optimization tasks which … … 15 17 \subsection howtoread How to read this document 16 18 17 Graph structures play central role in HugoLib, so if you are new to it,19 Graph structures play central role in LEMON, so if you are new to it, 18 20 you probably should start \ref graphs "here". 19 21 You can also find this page along with others under -
doc/maps.dox
r697 r921 5 5 \page maps Maps 6 6 7 Maps play central role in HUGOlib. As their name suggests, they map a7 Maps play central role in LEMON. As their name suggests, they map a 8 8 certain range of \e keys to certain \e values. Each map has two 9 9 <tt>typedef</tt>'s to determine the types of keys and values, like this: … … 22 22 where it is stored. 23 23 24 Each graph structure in HUGOlibprovides two standard map templates called24 Each graph structure in LEMON provides two standard map templates called 25 25 \c EdgeMap and \c NodeMap. Both are reference maps and you can easily 26 26 assign data to the nodes and to the edges of the graph. For example if you … … 70 70 The readable maps are very frequently used as the input of the 71 71 algorithms. For this purpose the most straightforward way is the use of the 72 default maps provided by Hugo's graph structures.72 default maps provided by LEMON's graph structures. 73 73 Very often however, it is more 74 74 convenient and/or more efficient to write your own readable map. -
doc/namespaces.dox
r882 r921 1 /// The namespace of HugoLib1 /// The namespace of LEMON 2 2 3 3 /// \todo Some more detailed description would be nice here. 4 4 /// 5 namespace hugo{5 namespace lemon { 6 6 7 /// The namespace of HUGOlibconcepts and concept checking classes7 /// The namespace of LEMON concepts and concept checking classes 8 8 9 9 /// \todo Some more detailed description would be nice here.
Note: See TracChangeset
for help on using the changeset viewer.