GCpp general purpose C++ library  version 1.0
GCppDocTemplates.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file GCppDocTemplates.hh
3  *
4  * Template classes documentation file.
5  */
6 //======================================================================
7 
8 /*! \page gcpp_templates GCpp template classes
9  *
10  *
11  * \par General behaviour for collection template classes
12  *
13  * The template classes for collections inherits from the abstract base
14  * class GCollectionT.
15  *
16  * \par Adding elements to the collections
17  *
18  * The derived classes define the functions to add or remove objects
19  * in the collection.
20  * The default behaviour when adding an object to a collection is the
21  * following:
22  *
23  * - if the object is added from ist \b pointer, it is \b adopted by the
24  * collection, and the objected is deleted if removed from the
25  * collection;
26  *
27  * - if the object is added by \b reference, it is considered as \b external
28  * and it is not adopted by the collection: the user must ensure that
29  * the object lives as long as it is used in the collection.
30  *
31  * This behaviour can be changed with the collection options flags
32  * (see gcoll namespace).
33  * For example, setting the option gcollection:gDeepCopy will force the
34  * collection, when adding an object, to make a copy of the object
35  * (with the Clone() function) and to adopt this copy.
36  *
37  * The information whether an objet must be deleted or not is stored in
38  * the iterator flags.
39  *
40  *
41  * \par The lists templates
42  *
43  * - class GListT
44  * - class GSortListT
45  * - class GNamedListT
46  *
47  * \par The vectors templates
48  *
49  * - class GVectT (note that this class is not called GVectorT, which is used
50  * for mathematical vectors)
51  *
52  * \par The trees templates
53  *
54  * - class GTreeNodeT
55  * - class GTreeBranchT
56  * - class GTreeLeafT
57  */
58