12 #ifndef DPTR_CLASS_0_1_H
13 #define DPTR_CLASS_0_1_H
17 namespace Chester_0_1{
35 using namespace Chester_0_1;
50 #define DEFINE_DPTR(Class) \
51 Class::DPrivate::DPrivate(){d=new Class::Private;}\
52 Class::DPrivate::DPrivate(const Class::DPrivate&dp){d=new Class::Private(*(dp.d));}\
53 Class::DPrivate::~DPrivate(){delete d;}\
54 Class::DPrivate Class::DPrivate::clone()const{DPrivate r;*(r.d)=*d;return r;}\
55 Class::DPrivate& Class::DPrivate::operator=(const Class::DPrivate&dp)\
56 {if(d!=dp.d)*d=*(dp.d);return *this;}
virtual ~DPtr()
deletes a non-shared d-pointer
Definition: dptr.h:29
Base class of non-shared d-pointers.
Definition: dptr.h:23
DPtr()
instantiates a non-shared d-pointer
Definition: dptr.h:27