|
CAF 0.17.6
|
An intrusive, reference counting smart pointer implementation. More...
#include <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 | |
| constexpr | intrusive_ptr (std::nullptr_t) noexcept |
| intrusive_ptr (pointer raw_ptr, bool add_ref=true) noexcept | |
| intrusive_ptr (intrusive_ptr &&other) noexcept | |
| intrusive_ptr (const intrusive_ptr &other) noexcept | |
| template<class Y > | |
| intrusive_ptr (intrusive_ptr< Y > other) noexcept | |
| void | swap (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) noexcept |
| intrusive_ptr & | operator= (pointer ptr) noexcept |
| intrusive_ptr & | operator= (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 intrusive_ptr &other) const noexcept |
| ptrdiff_t | compare (std::nullptr_t) const noexcept |
| template<class C > | |
| intrusive_ptr< C > | downcast () const noexcept |
| template<class C > | |
| intrusive_ptr< C > | upcast () const noexcept |
Static Public Attributes | |
| static constexpr bool | has_weak_ptr_semantics = false |
Friends | |
| template<class > | |
| class | intrusive_cow_ptr |
Related Symbols | |
(Note that these are not member symbols.) | |
| 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 > | |
| detail::enable_if_t< detail::is_comparable< T *, U * >::value, bool > | operator== (const intrusive_ptr< T > &x, const intrusive_ptr< U > &y) |
| template<class T , class U > | |
| detail::enable_if_t< detail::is_comparable< T *, U * >::value, 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 > | |
| 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... Ts> | |
| intrusive_ptr< T > | make_counted (Ts &&... xs) |
Constructs an object of type T in an intrusive_ptr. | |
An intrusive, reference counting smart pointer implementation.