sandbox
|
A non-owning pointer that can be used to observe the value of a pointer. More...
#include <observer_ptr.hpp>
Public Types | |
using | value_type = Type |
using | pointer = value_type * |
using | const_pointer = const value_type * |
Public Member Functions | |
constexpr | observer_ptr (std::nullptr_t) noexcept |
constexpr | observer_ptr (pointer value) noexcept |
template<smart_pointer< value_type > Pointer> | |
constexpr | observer_ptr (const Pointer &value) noexcept |
template<typename Other > requires (std::is_convertible_v<Other*, pointer>) | |
constexpr | observer_ptr (observer_ptr< Other > &other) noexcept |
constexpr | observer_ptr (const observer_ptr &) noexcept=default |
constexpr | observer_ptr (observer_ptr &&) noexcept=default |
constexpr auto | operator= (const observer_ptr &) noexcept -> observer_ptr &=default |
constexpr auto | operator= (observer_ptr &&) noexcept -> observer_ptr &=default |
constexpr auto | operator= (std::nullptr_t) noexcept -> observer_ptr & |
constexpr auto | operator= (pointer value) noexcept -> observer_ptr & |
constexpr auto | release () noexcept -> pointer |
constexpr auto | reset (pointer value=nullptr) noexcept -> void |
constexpr auto | swap (observer_ptr &other) noexcept -> void |
constexpr auto | is_valid () const noexcept -> bool |
constexpr | operator bool () const noexcept |
constexpr auto | operator-> () const noexcept -> const_pointer |
constexpr auto | operator-> () noexcept -> pointer |
constexpr auto | operator* () const noexcept(noexcept(*std::declval< pointer >())) -> std::add_const_t< std::add_lvalue_reference_t< value_type > > |
constexpr auto | operator* () noexcept(noexcept(*std::declval< pointer >())) -> std::add_lvalue_reference_t< value_type > |
constexpr auto | get () const noexcept -> const_pointer |
constexpr auto | get () noexcept -> pointer |
A non-owning pointer that can be used to observe the value of a pointer.
Type | The type of the pointer. |