Files
cppdraft_translate/cppdraft/indirect/obs.md
2025-10-25 03:02:53 +03:00

2.1 KiB
Raw Blame History

[indirect.obs]

20 Memory management library [mem]

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

20.4.1 Class template indirect [indirect]

20.4.1.6 Observers [indirect.obs]

🔗

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

1

#

Preconditions: *this is not valueless.

2

#

Returns: *p.

🔗

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

3

#

Preconditions: *this is not valueless.

4

#

Returns: std::move(*p).

🔗

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

5

#

Preconditions: *this is not valueless.

6

#

Returns: p.

🔗

constexpr bool valueless_after_move() const noexcept;

7

#

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

🔗

constexpr allocator_type get_allocator() const noexcept;

8

#

Returns: alloc.