#include <OW_COWIntrusiveReference.hpp>
Collaboration diagram for OW_NAMESPACE::COWIntrusiveReference< T >:
Public Types | |
typedef T | element_type |
typedef T *this_type::* | unspecified_bool_type |
Public Member Functions | |
COWIntrusiveReference () | |
COWIntrusiveReference (T *p, bool addRef=true) | |
template<class U> | |
COWIntrusiveReference (COWIntrusiveReference< U > const &rhs) | |
COWIntrusiveReference (COWIntrusiveReference const &rhs) | |
~COWIntrusiveReference () | |
template<class U> | |
COWIntrusiveReference & | operator= (COWIntrusiveReference< U > const &rhs) |
COWIntrusiveReference & | operator= (COWIntrusiveReference const &rhs) |
COWIntrusiveReference & | operator= (T *rhs) |
const T * | getPtr () const |
const T & | operator * () const |
const T * | operator-> () const |
T & | operator * () |
T * | operator-> () |
operator unspecified_bool_type () const | |
bool | operator! () const |
void | swap (COWIntrusiveReference &rhs) |
Private Types | |
typedef COWIntrusiveReference | this_type |
Private Member Functions | |
void | getWriteLock () |
Private Attributes | |
T * | m_pObj |
Friends | |
class | COWIntrusiveReference |
A smart pointer that uses intrusive reference counting.
Relies on unqualified calls to
void COWIntrusiveReferenceAddRef(T* p); void COWIntrusiveReferenceRelease(T* p); bool COWIntrusiveReferenceUnique(T* p); T* COWIntrusiveReferenceClone(T* p);
(p != 0)
The object is responsible for destroying itself.
If you want your class to be managed by COWIntrusiveReference, you can derive it from COWIntrusiveCountableBase, or write your own set of functions.
Definition at line 90 of file OW_COWIntrusiveReference.hpp.
|
Definition at line 95 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 93 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 174 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 97 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 100 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 104 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 108 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 112 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 131 of file OW_COWIntrusiveReference.hpp. Referenced by OW_NAMESPACE::operator!=(), and OW_NAMESPACE::operator==(). |
|
Definition at line 198 of file OW_COWIntrusiveReference.hpp. Referenced by OW_NAMESPACE::COWIntrusiveReference< DTData >::operator *(), and OW_NAMESPACE::COWIntrusiveReference< DTData >::operator->(). |
|
Definition at line 154 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 136 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 175 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 180 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 164 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 145 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 126 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 121 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 116 of file OW_COWIntrusiveReference.hpp. |
|
Definition at line 185 of file OW_COWIntrusiveReference.hpp. Referenced by OW_NAMESPACE::COWIntrusiveReference< DTData >::operator=(), OW_NAMESPACE::String::swap(), and OW_NAMESPACE::swap(). |
|
Definition at line 194 of file OW_COWIntrusiveReference.hpp. |
|