std::indirect<T, Allocator>::operator->, std::indirect<T, Allocator>::operator* - cppreference.com (original) (raw)
| constexpr const_pointer operator->() const noexcept; | (1) | (since C++26) |
|---|---|---|
| constexpr pointer operator->() noexcept; | (2) | (since C++26) |
| constexpr const T& operator*() const& noexcept; | (3) | (since C++26) |
| constexpr T& operator*() & noexcept; | (4) | (since C++26) |
| constexpr const T&& operator*() const&& noexcept; | (5) | (since C++26) |
| constexpr T&& operator*() && noexcept; | (6) | (since C++26) |
Accesses the owned value.
1,2) Returns a pointer to the owned value.
3-6) Returns a reference to the owned value.
If *this is valueless, the behavior is undefined.
[edit] Return value
1,2) _[p](../indirect.html#p "cpp/memory/indirect")_
3,4) *_[p](../indirect.html#p "cpp/memory/indirect")_
5,6) std::move(*_[p](../indirect.html#p "cpp/memory/indirect")_ )
[edit] Notes
This operator does not check whether *this is valueless, users can do so manually by using valueless_after_move().