XLE
v0.02.0
|
Standard intrusive pointer object More...
#include <IntrusivePtr.h>
Public Types | |
typedef T | element_type |
Public Member Functions | |
intrusive_ptr (T *copyOrMoveFrom, bool takeNewReference=true) | |
intrusive_ptr (MovePTRHelper< T > moveFrom) never_throws | |
intrusive_ptr (const intrusive_ptr ©From) | |
intrusive_ptr (intrusive_ptr &&moveFrom) never_throws | |
template<typename Y > | |
intrusive_ptr (const intrusive_ptr< Y > ©From) | |
template<typename Y > | |
intrusive_ptr (intrusive_ptr< Y > &&moveFrom) never_throws | |
intrusive_ptr & | operator= (const intrusive_ptr ©From) |
template<typename Y > | |
intrusive_ptr & | operator= (const intrusive_ptr< Y > ©From) |
intrusive_ptr & | operator= (T *copyFrom) |
intrusive_ptr & | operator= (MovePTRHelper< T > moveFrom) never_throws |
intrusive_ptr & | operator= (intrusive_ptr &&moveFrom) never_throws |
template<typename Y > | |
intrusive_ptr & | operator= (intrusive_ptr< Y > &&moveFrom) never_throws |
void | reset () |
void | reset (T *copyFrom) |
T & | operator* () const never_throws |
T * | operator-> () const never_throws |
T * | get () const never_throws |
operator bool () const never_throws | |
void | swap (intrusive_ptr &b) never_throws |
template<typename Y > | |
templ | intrusive_ptr (const intrusive_ptr< Y > ©From) |
template<typename Y > | |
templ | intrusive_ptr (intrusive_ptr< Y > &&moveFrom) never_throws |
template<typename Y > | |
templ intrusive_ptr< T > & | operator= (const intrusive_ptr< Y > ©From) |
template<typename Y > | |
templ intrusive_ptr< T > & | operator= (intrusive_ptr< Y > &&moveFrom) never_throws |
Friends | |
template<typename T > | |
T * | ReleaseOwnership (intrusive_ptr< T > &ptr) |
template<typename T , typename U > | |
bool | operator== (const intrusive_ptr< T > &lhs, const intrusive_ptr< U > &rhs) never_throws |
template<typename T , typename U > | |
bool | operator!= (const intrusive_ptr< T > &lhs, const intrusive_ptr< U > &rhs) never_throws |
template<typename T > | |
bool | operator== (const intrusive_ptr< T > &a, T *b) never_throws |
template<typename T > | |
bool | operator!= (const intrusive_ptr< T > &a, T *b) never_throws |
template<typename T > | |
bool | operator== (T *a, const intrusive_ptr< T > &b) never_throws |
template<typename T > | |
bool | operator!= (T *a, const intrusive_ptr< T > &b) never_throws |
template<typename T , typename U > | |
bool | operator< (const intrusive_ptr< T > &a, const intrusive_ptr< U > &b) never_throws |
Standard intrusive pointer object
Intrusive pointer implementation. based on standard designs (names kept similar to boost::intrusive_ptr intentially). Useful for interacting with 3rd party code (like D3D), or legacy code. Prefer to use std::shared_ptr<> where possible.