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

An intrusive, reference counting smart pointer implementation. More...

`#include <weak_intrusive_ptr.hpp>`

Inheritance diagram for caf::weak_intrusive_ptr< T >:

## 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
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)

## Detailed Description

template<class T>
class caf::weak_intrusive_ptr< T >

An intrusive, reference counting smart pointer implementation.

## Member Function Documentation

## get_locked()

template<class T>

pointer caf::weak_intrusive_ptr< T >::get_locked | ( |  | ) | const

noexcept

Tries to upgrade this weak reference to a strong reference.

Returns a pointer with increased strong reference count on success, nullptr otherwise.

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/weak_intrusive_ptr.hpp