|
| Ptr (std::nullptr_t=nullptr) |
|
| Ptr (RefCountable *ptr) |
|
template<class OtherRefCountable , IsConvertibleFrom< OtherRefCountable > = 0> |
| Ptr (OtherRefCountable *ptr) |
|
template<class OtherRefCountable , IsConvertibleFrom< OtherRefCountable > = 0> |
| Ptr (const Ptr< OtherRefCountable > &other) |
|
| Ptr (const Ptr &other) |
|
template<class OtherRefCountable , IsConvertibleFrom< OtherRefCountable > = 0> |
| Ptr (Ptr< OtherRefCountable > &&other) |
|
| Ptr (Ptr &&other) |
|
template<class OtherRefCountable , IsConvertibleFrom< OtherRefCountable > = 0> |
Ptr & | operator= (const Ptr< OtherRefCountable > &other) |
|
Ptr & | operator= (const Ptr &other) |
|
template<class OtherRefCountable , IsConvertibleFrom< OtherRefCountable > = 0> |
Ptr & | operator= (Ptr< OtherRefCountable > &&other) |
|
Ptr & | operator= (Ptr &&other) |
|
template<class OtherRefCountable , IsConvertibleFrom< OtherRefCountable > = 0> |
bool | operator== (const Ptr< OtherRefCountable > &other) const |
|
template<class OtherRefCountable , IsConvertibleFrom< OtherRefCountable > = 0> |
bool | operator!= (const Ptr< OtherRefCountable > &other) const |
|
void | reset () |
|
template<class OtherRefCountable , IsConvertibleFrom< OtherRefCountable > = 0> |
void | reset (OtherRefCountable *ptr) |
|
RefCountable * | releasePtr () |
|
RefCountable * | get () const |
|
RefCountable * | operator-> () const |
|
| operator bool () const |
|
template<class OtherRefCountable > |
Ptr< OtherRefCountable > | dynamicCast () const |
|
template<class RefCountable>
class nx::sdk::Ptr< RefCountable >
Smart pointer to objects that implement IRefCountable.
Supports dynamic-cast, and is assignment-compatible with smart pointers to derived classes.
template<class RefCountable>
template<class OtherRefCountable , IsConvertibleFrom< OtherRefCountable > = 0>
Decrements the reference counter of the owned object (will be deleted if reaches 0), and starts owning the specified object, leaving its reference counter intact.