10#if !defined(GUIREFCNTPTR_H__)
11#define GUIREFCNTPTR_H__
13#include "RefCounted.h"
98 rkSource.m_h->AddRef();
107 {
return m_h->RefCount(); }
114 {
return m_h->Unique(); }
124 template<
typename T2>
129 if (
static_cast<T2*
>(m_h->m_ptr) != NULL) { }
134#if defined(GUILIANI_USE_RTTI)
147 template<
typename T2>
150 T2* p =
dynamic_cast<T2*
>(m_h->m_ptr);
170 rkSource.m_h->AddRef();
181 {
return m_h->m_ptr; }
188 {
return *m_h->m_ptr; }
196 {
return m_h->m_ptr; }
204 {
return m_h->m_ptr == rkRight.m_h->m_ptr; }
211 template<
typename T2>
213 {
return m_h->m_ptr ==
static_cast<T*
>(rkRight.m_h->m_ptr); }
221 {
return m_h->m_ptr == pRight; }
237 {
return *m_h->m_ptr < *rkRight.m_h->m_ptr; }
244 template<
typename T2>
246 {
return !(
operator==(
static_cast<T*
>(rkRight.m_h->m_ptr))); }
270 {
if (m_ptr)
delete m_ptr; m_ptr = NULL; };
The Guiliani reference counted pointer class.
Definition: GUIRefCntPtr.h:76
eC_Int GetNOFReferences() const
Definition: GUIRefCntPtr.h:106
T * Get() const
Definition: GUIRefCntPtr.h:195
eC_Bool operator!=(const CGUIRefCntPtr< T > &rkRight) const
Definition: GUIRefCntPtr.h:228
eC_Bool operator==(const T *pRight) const
Definition: GUIRefCntPtr.h:220
eC_Bool operator<(const CGUIRefCntPtr< T > &rkRight) const
Definition: GUIRefCntPtr.h:236
CGUIRefCntPtr(const CGUIRefCntPtr< T > &rkSource)
Definition: GUIRefCntPtr.h:96
eC_Bool operator==(const CGUIRefCntPtr< T2 > &rkRight) const
Definition: GUIRefCntPtr.h:212
CGUIRefCntPtr< T > & operator=(const CGUIRefCntPtr< T > &rkSource)
Definition: GUIRefCntPtr.h:168
CGUIRefCntPtr< T2 > StaticCast()
Definition: GUIRefCntPtr.h:125
CGUIRefCntPtr(T *p=(T *) 0)
Definition: GUIRefCntPtr.h:82
T * operator->() const
Definition: GUIRefCntPtr.h:180
~CGUIRefCntPtr()
Definition: GUIRefCntPtr.h:89
CGUIRefCntPtr< T2 > DynamicCast()
Definition: GUIRefCntPtr.h:148
eC_Bool operator!=(const CGUIRefCntPtr< T2 > &rkRight) const
Definition: GUIRefCntPtr.h:245
T & operator*() const
Definition: GUIRefCntPtr.h:187
eC_Bool IsUnique() const
Definition: GUIRefCntPtr.h:113
eC_Bool operator!=(const T *pRight) const
Definition: GUIRefCntPtr.h:253
eC_Bool operator==(const CGUIRefCntPtr< T > &rkRight) const
Definition: GUIRefCntPtr.h:203
The reference counted pointer class used with SharedPtr.
Definition: RefCounted.h:32
Contains pointer class templates.
Definition: GUIRefCntPtr.h:17