|
|
| intrusive_ptr (pointer raw_ptr, bool add_ref=true) |
| |
|
| intrusive_ptr (intrusive_ptr &&other) |
| |
|
| intrusive_ptr (const intrusive_ptr &other) |
| |
|
template<class Y > |
| | intrusive_ptr (intrusive_ptr< Y > other) |
| |
|
void | swap (intrusive_ptr &other) noexcept |
| |
| pointer | detach () noexcept |
| | Returns the raw pointer without modifying reference count and sets this to nullptr. More...
|
| |
| pointer | release () noexcept |
| | Returns the raw pointer without modifying reference count and sets this to nullptr. More...
|
| |
|
void | reset (pointer new_value=nullptr, bool add_ref=true) |
| |
|
intrusive_ptr & | operator= (pointer ptr) |
| |
|
intrusive_ptr & | operator= (intrusive_ptr other) |
| |
|
pointer | get () const |
| |
|
pointer | operator-> () const |
| |
|
reference | operator* () const |
| |
|
bool | operator! () const |
| |
|
| operator bool () const |
| |
|
ptrdiff_t | compare (const_pointer ptr) const |
| |
|
ptrdiff_t | compare (const intrusive_ptr &other) const |
| |
|
ptrdiff_t | compare (std::nullptr_t) const |
| |
|
template<class C > |
| intrusive_ptr< C > | downcast () const |
| |
|
template<class C > |
| intrusive_ptr< C > | upcast () const |
| |
|
(Note that these are not member functions.)
|
| template<class T > |
| bool | operator== (const intrusive_ptr< T > &x, std::nullptr_t) |
| |
| template<class T > |
| bool | operator== (std::nullptr_t, const intrusive_ptr< T > &x) |
| |
| template<class T > |
| bool | operator!= (const intrusive_ptr< T > &x, std::nullptr_t) |
| |
| template<class T > |
| bool | operator!= (std::nullptr_t, const intrusive_ptr< T > &x) |
| |
| template<class T > |
| bool | operator== (const intrusive_ptr< T > &x, const T *y) |
| |
| template<class T > |
| bool | operator== (const T *x, const intrusive_ptr< T > &y) |
| |
| template<class T > |
| bool | operator!= (const intrusive_ptr< T > &x, const T *y) |
| |
| template<class T > |
| bool | operator!= (const T *x, const intrusive_ptr< T > &y) |
| |
| template<class T , class U > |
| bool | operator== (const intrusive_ptr< T > &x, const intrusive_ptr< U > &y) |
| |
| template<class T , class U > |
| bool | operator!= (const intrusive_ptr< T > &x, const intrusive_ptr< U > &y) |
| |
| template<class T > |
| bool | operator< (const intrusive_ptr< T > &x, const intrusive_ptr< T > &y) |
| |
template<class T>
class caf::intrusive_ptr< T >
An intrusive, reference counting smart pointer implementation.