C++ Actor Framework 0.19
|
An intrusive, reference counting smart pointer implementation. More...
#include <weak_intrusive_ptr.hpp>
Public Types | |
using | pointer = T * |
using | const_pointer = const T * |
using | element_type = T |
using | reference = T & |
using | const_reference = const T & |
Public Member Functions | |
weak_intrusive_ptr (pointer raw_ptr, bool add_ref=true) noexcept | |
weak_intrusive_ptr (weak_intrusive_ptr &&other) noexcept | |
weak_intrusive_ptr (const weak_intrusive_ptr &other) noexcept | |
template<class Y > | |
weak_intrusive_ptr (weak_intrusive_ptr< Y > other) noexcept | |
void | swap (weak_intrusive_ptr &other) noexcept |
pointer | detach () noexcept |
Returns the raw pointer without modifying reference count and sets this to nullptr . | |
pointer | release () noexcept |
Returns the raw pointer without modifying reference count and sets this to nullptr . | |
void | reset (pointer new_value=nullptr, bool add_ref=true) |
weak_intrusive_ptr & | operator= (pointer ptr) noexcept |
weak_intrusive_ptr & | operator= (weak_intrusive_ptr &&other) noexcept |
weak_intrusive_ptr & | operator= (const weak_intrusive_ptr &other) noexcept |
pointer | get () const noexcept |
pointer | operator-> () const noexcept |
reference | operator* () const noexcept |
bool | operator! () const noexcept |
operator bool () const noexcept | |
ptrdiff_t | compare (const_pointer ptr) const noexcept |
ptrdiff_t | compare (const weak_intrusive_ptr &other) const noexcept |
ptrdiff_t | compare (std::nullptr_t) const noexcept |
intrusive_ptr< T > | lock () const noexcept |
Tries to upgrade this weak reference to a strong reference. | |
pointer | get_locked () const noexcept |
Tries to upgrade this weak reference to a strong reference. | |
Static Public Attributes | |
static constexpr bool | has_weak_ptr_semantics = true |
Related Symbols | |
(Note that these are not member symbols.) | |
template<class X , typename Y > | |
bool | operator== (const weak_intrusive_ptr< X > &lhs, const weak_intrusive_ptr< Y > &rhs) |
template<class X , typename Y > | |
bool | operator!= (const weak_intrusive_ptr< X > &lhs, const weak_intrusive_ptr< Y > &rhs) |
An intrusive, reference counting smart pointer implementation.
|
noexcept |
Tries to upgrade this weak reference to a strong reference.
Returns a pointer with increased strong reference count on success, nullptr
otherwise.