memory

See Public API for a list of names and headers that are part of the public HPX API.

template<typename T>
struct hash<hpx::intrusive_ptr<T>>

Public Types

template<>
using result_type = std::size_t

Public Functions

constexpr result_type operator()(hpx::intrusive_ptr<T> const &p) const
namespace hpx

Functions

template<typename T, typename U>
constexpr bool operator==(hpx::intrusive_ptr<T> const &a, hpx::intrusive_ptr<U> const &b)
template<typename T, typename U>
constexpr bool operator!=(hpx::intrusive_ptr<T> const &a, hpx::intrusive_ptr<U> const &b)
template<typename T, typename U>
constexpr bool operator==(hpx::intrusive_ptr<T> const &a, U *b)
template<typename T, typename U>
constexpr bool operator!=(hpx::intrusive_ptr<T> const &a, U *b)
template<typename T, typename U>
constexpr bool operator==(T *a, hpx::intrusive_ptr<U> const &b)
template<typename T, typename U>
constexpr bool operator!=(T *a, hpx::intrusive_ptr<U> const &b)
template<typename T>
constexpr bool operator==(hpx::intrusive_ptr<T> const &p, std::nullptr_t)
template<typename T>
constexpr bool operator==(std::nullptr_t, hpx::intrusive_ptr<T> const &p)
template<typename T>
constexpr bool operator!=(hpx::intrusive_ptr<T> const &p, std::nullptr_t)
template<typename T>
constexpr bool operator!=(std::nullptr_t, hpx::intrusive_ptr<T> const &p)
template<typename T>
constexpr bool operator<(hpx::intrusive_ptr<T> const &a, hpx::intrusive_ptr<T> const &b)
template<typename T>
void swap(hpx::intrusive_ptr<T> &lhs, hpx::intrusive_ptr<T> &rhs)
template<typename T>
constexpr T *get_pointer(hpx::intrusive_ptr<T> const &p)
template<typename T, typename U>
constexpr hpx::intrusive_ptr<T> static_pointer_cast(hpx::intrusive_ptr<U> const &p)
template<typename T, typename U>
constexpr hpx::intrusive_ptr<T> const_pointer_cast(hpx::intrusive_ptr<U> const &p)
template<typename T, typename U>
hpx::intrusive_ptr<T> dynamic_pointer_cast(hpx::intrusive_ptr<U> const &p)
template<typename T, typename U>
constexpr hpx::intrusive_ptr<T> static_pointer_cast(hpx::intrusive_ptr<U> &&p)
template<typename T, typename U>
constexpr hpx::intrusive_ptr<T> const_pointer_cast(hpx::intrusive_ptr<U> &&p)
template<typename T, typename U>
hpx::intrusive_ptr<T> dynamic_pointer_cast(hpx::intrusive_ptr<U> &&p)
template<typename Y>
std::ostream &operator<<(std::ostream &os, hpx::intrusive_ptr<Y> const &p)
template<typename T>
class intrusive_ptr

Public Types

template<>
using element_type = T

Public Functions

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

Private Types

template<>
using this_type = intrusive_ptr

Private Members

T *px = nullptr

Friends

friend hpx::intrusive_ptr
namespace memory

Typedefs

using instead = hpx::intrusive_ptr<T>

Functions

template<typename T>hpx::memory::HPX_DEPRECATED_V(1, 8, "hpx::memory::get_pointer is deprecated, use hpx::get_pointer  instead ") const
template<typename T, typename U>hpx::memory::HPX_DEPRECATED_V(1, 8, "hpx::memory::dynamic_pointer_cast is deprecated, use " "hpx::dynamic_pointer_cast  instead ") const
namespace std
template<typename T>
struct hash<hpx::intrusive_ptr<T>>

Public Types

template<>
using result_type = std::size_t

Public Functions

constexpr result_type operator()(hpx::intrusive_ptr<T> const &p) const
namespace hpx
namespace serialization

Functions

template<typename T>
void load(input_archive &ar, hpx::intrusive_ptr<T> &ptr, unsigned)
template<typename T>
void save(output_archive &ar, hpx::intrusive_ptr<T> const &ptr, unsigned)