Template Class unique_ptr

Class Documentation

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

Provide a simplified port of std::unique_ptr that has ABI stability.

Note: This implementation doesn’t allow for a custom deleter.

Public Types

using element_type = typename detail::unique_ptr_element_type<T>::type
using pointer = element_type*

Public Functions

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