C++ main module for emicrom Package  1.0
CORE_ArrayPointers.h
Go to the documentation of this file.
1 #ifndef CORE_ArrayPointers_H
2 #define CORE_ArrayPointers_H
3 
4 
5 #include <boost/shared_array.hpp>
6 #include <boost/shared_ptr.hpp>
7 #include <boost/weak_ptr.hpp>
8 #include <boost/enable_shared_from_this.hpp>
10 #include "CORE_WeakPointersList.h"
12 
14 #include "CORE_WeakPointersArray.h"
15 
16 #define TYPEDEF_SVPTR(X) \
17  typedef CORE_SharedPointersList<const X> SVPtrConst##X; \
18  typedef CORE_SharedPointersList<X> SVPtr##X; \
19  typedef CORE_WeakPointersList<X> WVPtr##X; \
20  typedef CORE_WeakPointersList<const X> WVPtrConst##X; \
21  NAME_SPACE_SVPTR(X)
22 
23 
24 #define DEFINE_SVPTR(X) \
25  class X; \
26  TYPEDEF_SVPTR(X)
27 
28 #define TYPEDEF_SAPTR(X) \
29  typedef CORE_SharedPointersArray<const X> SVPtrConst##X; \
30  typedef CORE_SharedPointersArray<X> SVPtr##X; \
31  typedef CORE_WeakPointersArray<X> WVPtr##X; \
32  typedef CORE_WeakPointersArray<const X> WVPtrConst##X; \
33  NAME_SPACE_SAPTR(X)
34 
35 
36 #define DEFINE_SAPTR(X) \
37  class X; \
38  TYPEDEF_SAPTR(X)
39 
42 
43 // a vector of boost pointer of primitive type vector
45 TYPEDEF_SVPTR(CORE_CharacterVector);
50 TYPEDEF_SVPTR(CORE_RelativeIntegerVector);
54 
56 TYPEDEF_SAPTR(CORE_CharacterVector);
61 TYPEDEF_SAPTR(CORE_RelativeIntegerVector);
65 
66 
67 
68 #endif /* CORE_ListPointers_H */
#define DEFINE_SVPTR(X)
Definition: CORE_ArrayPointers.h:24
this class describes an array
Definition: CORE_Vector.h:19
#define TYPEDEF_SAPTR(X)
Definition: CORE_ArrayPointers.h:28
#define TYPEDEF_SVPTR(X)
Definition: CORE_ArrayPointers.h:16
#define DEFINE_SAPTR(X)
Definition: CORE_ArrayPointers.h:36
abstract base class for most classes.
Definition: CORE_Object.h:53