class intrusive_ptr

Declaration

template <typename T>
class intrusive_ptr { /* full declaration omitted */ };

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:41

Method Overview

  • public constexpr T * detach() noexcept
  • public constexpr T * get() const noexcept
  • public intrusive_ptr<T>() noexcept
  • public intrusive_ptr<T>(T * p, bool add_ref = true)
  • public intrusive_ptr<T>(const intrusive_ptr<T> & rhs)
  • public constexpr intrusive_ptr<T>(intrusive_ptr<T> && rhs) noexcept
  • public template <typename U, typename Enable = std::enable_if_t<memory::detail::sp_convertible_v<U, T>>> intrusive_ptr<T>(const intrusive_ptr<U> & rhs)
  • public template <typename U, typename Enable = std::enable_if_t<memory::detail::sp_convertible_v<U, T>>>constexpr intrusive_ptr<T>(intrusive_ptr<U> && rhs) noexcept
  • public constexpr bool operator bool() const noexcept
  • public void reset() noexcept
  • public void reset(T * rhs) noexcept
  • public void reset(T * rhs, bool add_ref) noexcept
  • public constexpr void swap(intrusive_ptr<T> & rhs) noexcept
  • public ~intrusive_ptr<T>()

Methods

constexpr T* detach() noexcept

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:153

constexpr T* get() const noexcept

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:148

intrusive_ptr<T>() noexcept

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:49

intrusive_ptr<T>(T* p, bool add_ref = true)

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:51

Parameters

T* p
bool add_ref = true

intrusive_ptr<T>(const intrusive_ptr<T>& rhs)

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:68

Parameters

const intrusive_ptr<T>& rhs

constexpr intrusive_ptr<T>(
    intrusive_ptr<T>&& rhs) noexcept

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:89

Parameters

intrusive_ptr<T>&& rhs

template <
    typename U,
    typename Enable = std::enable_if_t<
        memory::detail::sp_convertible_v<U, T>>>
intrusive_ptr<T>(const intrusive_ptr<U>& rhs)

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:61

Parameters

const intrusive_ptr<U>& rhs

template <
    typename U,
    typename Enable = std::enable_if_t<
        memory::detail::sp_convertible_v<U, T>>>
constexpr intrusive_ptr<T>(
    intrusive_ptr<U>&& rhs) noexcept

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:107

Parameters

intrusive_ptr<U>&& rhs

constexpr bool operator bool() const noexcept

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:172

void reset() noexcept

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:133

void reset(T* rhs) noexcept

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:138

Parameters

T* rhs

void reset(T* rhs, bool add_ref) noexcept

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:143

Parameters

T* rhs
bool add_ref

constexpr void swap(
    intrusive_ptr<T>& rhs) noexcept

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:177

Parameters

intrusive_ptr<T>& rhs

~intrusive_ptr<T>()

Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:75