An intrusive, reference counting smart pointer implementation.
More...
#include <intrusive_ptr.hpp>
|
using | pointer = T * |
|
using | const_pointer = const T * |
|
using | element_type = T |
|
using | reference = T & |
|
using | const_reference = const T & |
|
|
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 . 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) 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 constexpr bool | has_weak_ptr_semantics = false |
|
|
template<class > |
class | intrusive_cow_ptr |
|
|
(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 > |
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 .
|
|
template<class>
class caf::intrusive_ptr< class >
An intrusive, reference counting smart pointer implementation.
Returns the raw pointer without modifying reference count and sets this to nullptr
.
Returns the raw pointer without modifying reference count and sets this to nullptr
.
template<class T >
bool operator!= |
( |
std::nullptr_t |
, |
|
|
const intrusive_ptr< T > & |
x |
|
) |
| |
|
related |
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 |
|
) |
| |
|
related |
template<class T >
bool operator== |
( |
std::nullptr_t |
, |
|
|
const intrusive_ptr< T > & |
x |
|
) |
| |
|
related |
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 |
|
) |
| |
|
related |
The documentation for this class was generated from the following files:
- /builddir/build/BUILD/actor-framework-0.17.1/libcaf_core/caf/fwd.hpp
- /builddir/build/BUILD/actor-framework-0.17.1/libcaf_core/caf/intrusive_ptr.hpp
- /builddir/build/BUILD/actor-framework-0.17.1/libcaf_core/caf/make_counted.hpp