[polymorphic.obs] (original) (raw)

20 Memory management library [mem]

20.4 Types for composite class design [mem.composite.types]

20.4.2 Class template polymorphic [polymorphic]

20.4.2.6 Observers [polymorphic.obs]

constexpr const T& operator*() const noexcept;constexpr T& operator*() noexcept;

Preconditions: *this is not valueless.

Returns: A reference to the owned object.

constexpr const_pointer operator->() const noexcept;constexpr pointer operator->() noexcept;

Preconditions: *this is not valueless.

Returns: A pointer to the owned object.

constexpr bool valueless_after_move() const noexcept;

Returns: true if *this is valueless, otherwise false.

constexpr allocator_type get_allocator() const noexcept;