Template Class shared_ptr

Class Documentation

template<class T>
class opentelemetry::nostd::shared_ptr

Provide a type-erased version of std::shared_ptr that has ABI stability.

Public Types

using element_type = T
using pointer = element_type*

Public Functions

inline shared_ptr() noexcept
inline explicit shared_ptr(pointer ptr)
inline shared_ptr(std::shared_ptr<T> ptr) noexcept
inline shared_ptr(shared_ptr &&other) noexcept
template<class U, typename std::enable_if<std::is_convertible<U*, pointer>::value>::type* = nullptr>
inline shared_ptr(shared_ptr<U> &&other) noexcept
inline shared_ptr(const shared_ptr &other) noexcept
inline ~shared_ptr()
inline shared_ptr &operator=(shared_ptr &&other) noexcept
inline shared_ptr &operator=(std::nullptr_t) noexcept
inline shared_ptr &operator=(const shared_ptr &other) noexcept
inline element_type &operator*() const noexcept
inline pointer operator->() const noexcept
inline operator bool() const noexcept
inline pointer get() const noexcept
inline void swap(shared_ptr<T> &other) noexcept

Friends

friend class shared_ptr