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
constexpr T* detach() noexceptDeclared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:153
constexpr T* get() const noexcept
constexpr T* get() const noexceptDeclared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:148
intrusive_ptr<T>() noexcept
intrusive_ptr<T>() noexceptDeclared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:49
intrusive_ptr<T>(T* p, bool add_ref = true)
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)
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
constexpr intrusive_ptr<T>(
intrusive_ptr<T>&& rhs) noexceptDeclared 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)
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
template <
typename U,
typename Enable = std::enable_if_t<
memory::detail::sp_convertible_v<U, T>>>
constexpr intrusive_ptr<T>(
intrusive_ptr<U>&& rhs) noexceptDeclared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:107
Parameters
- intrusive_ptr<U>&& rhs
constexpr bool operator bool() const noexcept
constexpr bool operator bool() const noexceptDeclared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:172
void reset() noexcept
void reset() noexceptDeclared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:133
void reset(T* rhs) noexcept
void reset(T* rhs) noexceptDeclared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:138
Parameters
- T* rhs
void reset(T* rhs, bool add_ref) noexcept
void reset(T* rhs, bool add_ref) noexceptDeclared 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
constexpr void swap(
intrusive_ptr<T>& rhs) noexceptDeclared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:177
Parameters
- intrusive_ptr<T>& rhs
~intrusive_ptr<T>()
~intrusive_ptr<T>()Declared at: libs/pika/memory/include/pika/memory/intrusive_ptr.hpp:75