0022815: Missing delete operator for placement new
[occt.git] / src / NCollection / NCollection_DefineVector.hxx
1 // File:      NCollection_DefineVector.hxx
2 // Created:   23.04.02 19:24:33
3 // Author:    Alexander GRIGORIEV
4 //            Automatically created from NCollection_Vector.hxx by GAWK
5 // Copyright: Open Cascade 2002
6
7
8 #ifndef NCollection_DefineVector_HeaderFile
9 #define NCollection_DefineVector_HeaderFile
10
11 #include <NCollection_DefineBaseCollection.hxx>
12 #include <NCollection_Vector.hxx>
13
14 //  Class NCollection_Vector (dynamic array of objects)
15 //
16 // This class is similar to NCollection_Array1  though the indices always start
17 // at 0 (in Array1 the first index must be specified)
18 //
19 // The Vector is always created with 0 length. It can be enlarged by two means:
20 //   1. Calling the method Append (val) - then "val" is added to the end of the
21 //      vector (the vector length is incremented)
22 //   2. Calling the method SetValue (i, val)  - if "i" is greater than or equal
23 //      to the current length of the vector,  the vector is enlarged to accomo-
24 //      date this index
25 //
26 // The methods Append and SetValue return  a non-const reference  to the copied
27 // object  inside  the vector.  This reference  is guaranteed to be valid until
28 // the vector is destroyed. It can be used to access the vector member directly
29 // or to pass its address to other data structures.
30 //
31 // The vector iterator remembers the length of the vector  at the moment of the
32 // creation or initialisation of the iterator.   Therefore the iteration begins
33 // at index 0  and stops at the index equal to (remembered_length-1).  It is OK
34 // to enlarge the vector during the iteration.
35
36 #define DEFINE_VECTOR(_ClassName_, _BaseCollection_, TheItemType)              \
37         typedef NCollection_Vector<TheItemType > _ClassName_;
38
39 #endif