Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "dptr_base.h"
00010
00011
00012 #ifndef DPTR_CLASS_0_1_H
00013 #define DPTR_CLASS_0_1_H
00014
00015
00017 namespace Chester_0_1{
00019
00023 class DPtr
00024 {
00025 public:
00027 DPtr(){}
00029 virtual ~DPtr(){}
00030 };
00031
00032
00034 };
00035 using namespace Chester_0_1;
00037 #endif
00038
00039 #ifdef DEFINE_DPTR
00040 #undef DEFINE_DPTR
00041 #endif
00042
00050 #define DEFINE_DPTR(Class) \
00051 Class::DPrivate::DPrivate(){d=new Class::Private;}\
00052 Class::DPrivate::DPrivate(const Class::DPrivate&dp){d=new Class::Private(*(dp.d));}\
00053 Class::DPrivate::~DPrivate(){delete d;}\
00054 Class::DPrivate Class::DPrivate::clone()const{DPrivate r;*(r.d)=*d;return r;}\
00055 Class::DPrivate& Class::DPrivate::operator=(const Class::DPrivate&dp)\
00056 {if(d!=dp.d)*d=*(dp.d);return *this;}
00057