47 #ifndef CCXX_POINTER_H_
48 #define CCXX_POINTER_H_
50 #ifndef CCXX_MISSING_H_
54 #ifdef CCXX_NAMESPACES
73 if(ptrCount && --(*ptrCount)==0) {
82 explicit Pointer(T* ptr = NULL) : ptrObject(ptr)
84 ptrCount =
new unsigned;
120 {
return (*ptrCount == 1);};
123 {
return ++(*ptrCount);};
131 return --(*ptrCount);
135 #ifdef CCXX_NAMESPACES
T * getObject() const
Definition: pointer.h:113
virtual ~Pointer()
Definition: pointer.h:95
Pointer & operator=(const Pointer< T > &ref)
Definition: pointer.h:99
substitute functions which may be missing in target platform libc.
T & operator*() const
Definition: pointer.h:110
Used to create and manage referece counted pointers.
Definition: pointer.h:65
int operator++() const
Definition: pointer.h:122
int operator--() const
Definition: pointer.h:125
bool operator!() const
Definition: pointer.h:119
void ptrDetach(void)
Definition: pointer.h:71
T * operator->() const
Definition: pointer.h:116
unsigned * ptrCount
Definition: pointer.h:68
Pointer(T *ptr=NULL)
Definition: pointer.h:82
Pointer(const Pointer< T > &ref)
Definition: pointer.h:88
T * ptrObject
Definition: pointer.h:69