Free Electron
|
Copy-On-Write shared pointer. More...
#include <Protectable.h>
Public Member Functions | |
cp (T *pT) | |
cp (const cp< T > &rcpT) | |
cp (const sp< T > &rspT) | |
template<typename X > | |
cp (const cp< X > &rcpX) | |
template<typename X > | |
cp (const sp< X > &rspX) | |
template<typename X > | |
cp (const hp< X > &rhpX) | |
cp< T > & | operator= (T *pT) |
cp< T > & | operator= (const cp< T > &rcpT) |
cp< T > & | operator= (const sp< T > &rspT) |
template<typename X > | |
cp< T > & | operator= (const cp< X > &rcpX) |
template<typename X > | |
cp< T > & | operator= (const sp< X > &rspX) |
template<typename X > | |
cp< T > & | operator= (const hp< X > &rhpX) |
const T * | operator-> (void) const |
const T * | raw (void) const |
T * | writable (void) |
I32 | protection (void) const |
void | protect (void) |
void | unprotect (void) |
Public Member Functions inherited from fe::sp< T > | |
sp (T *pT) | |
sp (const sp< T > &rspT) | |
template<typename X > | |
sp (const sp< X > &rspX) | |
template<typename X > | |
sp (const hp< X > &rhpX) | |
sp< T > & | operator= (T *pT) |
sp< T > & | operator= (const sp< T > &rspT) |
template<typename X > | |
sp< T > & | operator= (const sp< X > &rspX) |
template<typename X > | |
bool | is (void) |
template<typename X > | |
sp< T > & | operator= (const hp< X > &rhpX) |
T & | operator* (void) |
const T & | operator* (void) const |
T * | operator-> (void) const |
const T * | asConst (void) const |
T * | abandon (void) |
T * | raw (void) const |
BWORD | isValid (void) const |
BWORD | isNull (void) const |
Private Member Functions | |
void | releaseProtection (void) |
Private Attributes | |
I32 | m_protection |
Additional Inherited Members | |
Related Functions inherited from fe::sp< T > | |
template<class T , class X > | |
BWORD | operator== (const sp< T > &rspLeft, const sp< X > &rspRight) |
template<class T , class X > | |
BWORD | operator!= (const sp< T > &rspLeft, const sp< X > &rspRight) |
template<class T , class X > | |
BWORD | operator< (const sp< T > &rspLeft, const sp< X > &rspRight) |
Copy-On-Write shared pointer.
This mechanism is very similar to sp<> except that the plain pointer operator will return only as const.
To access a member in a writable fashion, you must use the writable() method. If the shared object is protected by any cp<> except the caller, the writable() method will clone the object. A clone starts unprotected.