std::experimental::optional::value - cppreference.com (original) (raw)
| constexpr T& value() &; constexpr const T & value() const &; | (1) | (library fundamentals TS) |
|---|---|---|
| constexpr T&& value() &&; constexpr const T&& value() const &&; | (2) | (library fundamentals TS) |
Returns the contained value.
Equivalent to return bool(*this) ? *val : throw bad_optional_access();.
Equivalent to return bool(*this) ? std::move(*val) : throw bad_optional_access();.
[edit] Parameters
(none)
[edit] Return value
A reference to the contained value.
[edit] Exceptions
std::experimental::bad_optional_access if *this does not contain a value.
[edit] Notes
The dereference operator operator*() does not check if this optional contains a value, which may be more efficient than value().
[edit] Example
Possible output:
optional::value: not engaged
[edit] See also
| | returns the contained value if available, another value otherwise (public member function) [edit] | | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | accesses the contained value (public member function) [edit] | | | (library fundamentals TS) | exception indicating checked access to an optional that doesn't contain a value (class) [edit] |