66 explicit operator T*();
68 explicit operator const T*()
const;
75 explicit Letter(T*
object);
92 : _letter(new Letter(letter))
97 : _letter(src._letter)
104 : _letter(src._letter)
119 _letter = src._letter;
129 _letter =
new Letter(
object);
136 return _letter->_object !=
nullptr;
142 return _letter->_object;
148 return *_letter->_object;
154 return _letter->_object;
160 return _letter->_object;
166 return _letter->_object;
172 return _letter->_object;
178 return _letter->_object;
184 return _letter ? _letter->_refCount : 0;
194TEnvelope<T>::Letter::~Letter()
200void TEnvelope<T>::Letter::addRef()
206void TEnvelope<T>::Letter::release()
208 if (--_refCount == 0)
Envelope-letter type of smart pointers.
Definition TEnvelope.h:27
T * operator()()
Definition TEnvelope.h:152
T * operator->()
Definition TEnvelope.h:140
TEnvelope(const TEnvelope &&src) noexcept
Move constructor.
Definition TEnvelope.h:103
TEnvelope & operator=(T *object)
Definition TEnvelope.h:126
TEnvelope(const TEnvelope &src)
Copy constructor.
Definition TEnvelope.h:96
~TEnvelope()
Destructor.
Definition TEnvelope.h:108
int referencedCount() const
Definition TEnvelope.h:182
T * get()
Definition TEnvelope.h:158
TEnvelope(T *letter)
Constructor for the envelope's letter object.
Definition TEnvelope.h:91
T & operator*()
Definition TEnvelope.h:146
const T * get() const
Definition TEnvelope.h:164
TEnvelope & operator=(const TEnvelope &src)
Definition TEnvelope.h:114
Definition Application.h:10