1 #ifndef _TREFERENCE_HXX_
2 #define _TREFERENCE_HXX_
58 if(
ptr &&
ptr->DelReference()==0)
delete ptr;
60 if (
ptr)
ptr->AddReference();
70 if(
ptr &&
ptr->DelReference()==0)
delete ptr;
72 if (
ptr)
ptr->AddReference();
Reference_ptr & operator=(T *p)
Affectation ; destroy old ptr if is no more referenced.
Definition: TReference.hxx:66
Handle dynamical object creation and pointer affectation.
Definition: TReference.hxx:40
T & operator*() const
return the object of the template class
Definition: TReference.hxx:49
bool operator!=(T *p)
Comparaison of Pointer.
Definition: TReference.hxx:78
bool operator==(T *p)
Comparaison of Pointer.
Definition: TReference.hxx:77
unsigned DelReference(unsigned n=1)
Remove n references to an object.
Definition: TReference.hxx:24
unsigned fNbReferences
Number of references to an object.
Definition: TReference.hxx:27
T * ptr
Pointer to the template class T.
Definition: TReference.hxx:43
T * operator->() const
return a pointer to the template class
Definition: TReference.hxx:50
TReference()
Default constructor. Number of references is set to 0.
Definition: TReference.hxx:20
T * Get() const
return a pointer to the template class (usefull for cast)
Definition: TReference.hxx:51
virtual ~TReference()
Destructor.
Definition: TReference.hxx:21
Reference_ptr & operator=(const Reference_ptr &r)
Affectation ; destroy old ptr if is no more referenced.
Definition: TReference.hxx:54
void AddReference(unsigned n=1)
Add n references to an object.
Definition: TReference.hxx:23
Reference_ptr(const Reference_ptr &r)
Copy constructor.
Definition: TReference.hxx:47
unsigned Reference()
returns the Number of references to an object
Definition: TReference.hxx:25
Base class to reference all Shape objects.
Definition: TReference.hxx:17
~Reference_ptr()
Normal destructor.
Definition: TReference.hxx:48
Reference_ptr(T *p=0)
Normal constructor.
Definition: TReference.hxx:46