Go to the documentation of this file.
10 #ifdef DPTR_CLASS_NAME
11 #undef DPTR_CLASS_NAME
18 #ifdef DPTR_WRAPPER_NAME
19 #undef DPTR_WRAPPER_NAME
25 #define DPTR_CLASS_NAME(Class) Class::Private
30 #define DPTR_NAME Private
35 #define DPTR_WRAPPER_NAME DPrivate
64 #define DECLARE_DPTR(dp) DECLARE_DPTRX(dp,)
65 #define DECLARE_DPTRX(dp,export_spec) \
68 class export_spec DPrivate{\
69 public:DPrivate();DPrivate(const DPrivate&);~DPrivate();\
70 DPrivate&operator=(const DPrivate&);\
71 const Private*operator->()const{return d;}\
72 Private*operator->(){return d;}\
73 DPrivate clone()const;\
78 #ifdef DECLARE_SHARED_DPTR
79 #undef DECLARE_SHARED_DPTR
106 #define DECLARE_SHARED_DPTR(dp) DECLARE_SHARED_DPTRX(dp,)
107 #define DECLARE_SHARED_DPTRX(dp,export_spec) \
110 class export_spec DPrivate{\
111 public:DPrivate();DPrivate(const DPrivate&);~DPrivate();\
112 DPrivate&operator=(const DPrivate&);\
113 const Private*operator->()const{return d;}\
114 Private*operator->(){return d;}\
115 DPrivate clone()const;\
122 #ifdef DECLARE_NONCOPY_DPTR
123 #undef DECLARE_NONCOPY_DPTR
148 #define DECLARE_NONCOPY_DPTR(dp) DECLARE_NONCOPY_DPTRX(dp,)
149 #define DECLARE_NONCOPY_DPTRX(dp,export_spec) \
152 class export_spec DPrivate{\
153 public:DPrivate();~DPrivate();\
154 const Private*operator->()const{return d;}\
155 Private*operator->(){return d;}\
157 DPrivate(const DPrivate&);DPrivate&operator=(const DPrivate&);\