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.

  1. Equivalent to return bool(*this) ? *val : throw bad_optional_access();.

  2. 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] |