9#if !defined(OWL_POINTER_H)
13#if defined(BI_HAS_PRAGMA_ONCE)
43 operator T*() {
return P;}
54 void*
operator new(
size_t)
noexcept {
return nullptr;}
55#if !defined(BI_COMP_GNUC)
56 void operator delete(
void* p) {(
static_cast<TPointerBase<T>*
>(p))->P=0;}
60#if !defined(OWL5_COMPAT)
77#if !defined(OWL5_COMPAT)
86 if (
src == this->
P)
return *
this;
107#if !defined(OWL5_COMPAT)
116 if (
src == this->
P)
return *
this;
167 TLetter(T*
object) : Object(object), RefCount(1) {}
168 ~TLetter() {
delete Object; }
170 void AddRef() { RefCount++; }
171 void Release() {
if (--RefCount == 0)
delete this; }
188 { Ptr =
vp.Ptr;
return *
this; }
190 { Ptr = p;
return *
this; }
205 operator T*() {
return I;}
221 void*
operator new(
size_t)
noexcept {
return nullptr;}
232 if (
iface == this->
I)
return *
this;
241 if (&
i ==
this)
return *
this;
264 if (&
src ==
this)
return *
this;
275 if (
object == Letter->Object)
return *
this;
278 Letter =
new TLetter(
object);
311 TLetter(T array[]) : Array(array), RefCount(1) {}
312 ~TLetter() {
delete[] Array; }
314 void AddRef() { RefCount++; }
315 void Release() {
if (--RefCount == 0)
delete this; }
326 if (&
src ==
this)
return *
this;
337 if (array == Letter->Array)
return *
this;
340 Letter =
new TLetter(array);
Envelope-letter type of smart pointer array.
TAEnvelope & operator=(const TAEnvelope &src)
TAEnvelope(const TAEnvelope &src)
Pointer to an array of type T.
TAPointer< T > & operator=(T *src)
Encapsulation of OLE interface pointers.
TComRefBase(const TComRefBase< T > &i)
TComRef< T > & operator=(T *iface)
TComRef(const TComRef< T > &i)
Envelope-letter type of smart pointers.
TEnvelope & operator=(const TEnvelope &src)
TEnvelope(const TEnvelope &src)
Smart pointer base class.
Smart pointer to a single object. Provides member access operator ->
TPointer< T > & operator=(T *src)
const TVoidPointer & operator=(const TVoidPointer &vp)
TVoidPointer(const TVoidPointer &rp)
TVoidPointer(const void *p=nullptr)
Object Windows Library (OWLNext Core)
#define CONST_CAST(targetType, object)