|
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.