Observers
`static bool _has_error_is_errno(Impl &&) noexcept`
Returns true if the error code in the implementation passed in has a domain or category matching that of POSIX errno. Constexpr where possible. Requires: Always available. Complexity: Constant time. Guarantees: Never throws an exception. »
`static bool _has_exception(Impl &&) noexcept`
Returns true if an exception is present in the implementation passed in. Constexpr where possible. Requires: Always available. Complexity: Constant time. Guarantees: Never throws an exception. »
`static bool _has_value(Impl &&) noexcept`
Returns true if a value is present in the implementation passed in. Constexpr where possible. Requires: Always available. Complexity: Constant time. Guarantees: Never throws an exception. »
`value_type &&assume_value() && noexcept`
Narrow contract rvalue reference observer of any value present. NoValuePolicy::narrow_value_check() is first invoked, then the reference to the value is returned. The convention is that hard undefined behaviour occurs if no value is actually present, however NoValuePolicy::narrow_value_check() can do something to avoid that. Note that if value_type is void, only a const overload returning void is present. Requires: Always available. Complexity: Depends on NoValuePolicy::narrow_value_check(). Guarantees: An exception is never thrown. »
`value_type &&assume_value() && noexcept`
Narrow contract rvalue reference observer of any value present. NoValuePolicy::narrow_value_check() is first invoked, then the reference to the value is returned. The convention is that hard undefined behaviour occurs if no value is actually present, however NoValuePolicy::narrow_value_check() can do something to avoid that. Note that if value_type is void, only a const overload returning void is present. Requires: Always available. Complexity: Depends on NoValuePolicy::narrow_value_check(). Guarantees: An exception is never thrown. »
`value_type &&value() &&`
Wide contract rvalue reference observer of any value present. NoValuePolicy::wide_value_check() is first invoked, then the reference to the value is returned. Note that if value_type is void, only a const overload returning void is present. Requires: Always available. Complexity: Depends on NoValuePolicy::wide_value_check(). Guarantees: None. »
`value_type &&value() &&`
Wide contract rvalue reference observer of any value present. NoValuePolicy::wide_value_check() is first invoked, then the reference to the value is returned. Note that if value_type is void, only a const overload returning void is present. Requires: Always available. Complexity: Depends on NoValuePolicy::wide_value_check(). Guarantees: None. »
`value_type &assume_value() & noexcept`
Narrow contract lvalue reference observer of any value present. NoValuePolicy::narrow_value_check() is first invoked, then the reference to the value is returned. The convention is that hard undefined behaviour occurs if no value is actually present, however NoValuePolicy::narrow_value_check() can do something to avoid that. Note that if value_type is void, only a const overload returning void is present. Requires: Always available. Complexity: Depends on NoValuePolicy::narrow_value_check(). Guarantees: An exception is never thrown. »
`value_type &assume_value() & noexcept`
Narrow contract lvalue reference observer of any value present. NoValuePolicy::narrow_value_check() is first invoked, then the reference to the value is returned. The convention is that hard undefined behaviour occurs if no value is actually present, however NoValuePolicy::narrow_value_check() can do something to avoid that. Note that if value_type is void, only a const overload returning void is present. Requires: Always available. Complexity: Depends on NoValuePolicy::narrow_value_check(). Guarantees: An exception is never thrown. »
`value_type &value() &`
Wide contract lvalue reference observer of any value present. NoValuePolicy::wide_value_check() is first invoked, then the reference to the value is returned. Note that if value_type is void, only a const overload returning void is present. Requires: Always available. Complexity: Depends on NoValuePolicy::wide_value_check(). Guarantees: None. »