Loading...
Searching...
No Matches
caf::intrusive_ptr< T > Class Template Reference

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.

## Detailed Description

template<class T>
class caf::intrusive_ptr< T >

An intrusive, reference counting smart pointer implementation.

The documentation for this class was generated from the following files:

- /build/actor-framework-Z9pIPl/actor-framework-0.17.6/libcaf_core/caf/fwd.hpp
- /build/actor-framework-Z9pIPl/actor-framework-0.17.6/libcaf_core/caf/intrusive_ptr.hpp
- /build/actor-framework-Z9pIPl/actor-framework-0.17.6/libcaf_core/caf/make_counted.hpp