Policies
-
base
Base class of most policy classes defining the narrow observer policies.
-
static void _ub(Impl &&)
Special function which causes noticeable hard undefined behaviour.
-
static bool _has_value(Impl &&) noexcept
Returns true if a value is present in the implementation passed in. Constexpr, never throws.
-
static bool _has_error(Impl &&) noexcept
Returns true if an error is present in the implementation passed in. Constexpr, never throws.
-
static bool _has_exception(Impl &&) noexcept
Returns true if an exception is present in the implementation passed in. Constexpr, never throws.
-
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, never throws. -
static auto &&_value(Impl &&) noexcept
Returns a reference to the value in the implementation passed in. Constexpr, never throws.
-
static auto &&_error(Impl &&) noexcept
Returns a reference to the error in the implementation passed in. Constexpr, never throws.
-
static auto &&_exception(Impl &&) noexcept
Returns a reference to the exception in the implementation passed in. Constexpr, never throws.
-
static void _set_has_value(Impl &&, bool) noexcept
Sets whether the implementation has a value. Constexpr, never throws.
-
static void _set_has_error(Impl &&, bool) noexcept
Sets whether the implementation has an error. Constexpr, never throws.
-
static void _set_has_exception(Impl &&, bool) noexcept
Sets whether the implementation has an exception. Constexpr, never throws.
-
static void _set_has_exception(Impl &&, bool) noexcept
Sets whether the implementation’s error code has a domain or category matching that of POSIX
errno
. Constexpr, never throws. -
static void narrow_value_check(Impl &&) noexcept
Observer policy performing hard UB if no value is present. Constexpr, never throws.
-
static void narrow_error_check(Impl &&) noexcept
Observer policy performing hard UB if no error is present. Constexpr, never throws.
-
static void narrow_exception_check(Impl &&) noexcept
Observer policy performing hard UB if no exception is present. Constexpr, never throws.
-
-
all_narrow
Policy class defining that hard undefined behaviour should occur on incorrect narrow and wide value, error or exception observation. Inherits publicly from
base
. -
error_code_throw_as_system_error<T, EC, EP>
Policy class defining that
EP
ought to be rethrown if possible, then the ADL discovered free functionoutcome_throw_as_system_error_with_payload()
should be called on incorrect wide value observation. Inherits publicly frombase
. Can only be used withbasic_outcome
. -
error_code_throw_as_system_error<T, EC, void>
Policy class defining that the ADL discovered free function
outcome_throw_as_system_error_with_payload()
should be called on incorrect wide value observation. Inherits publicly frombase
. Can only be used withbasic_result
. -
exception_ptr_rethrow<T, EC, EP>
Policy class defining that the ADL discovered free function
rethrow_exception()
should be called on incorrect wide value observation. Inherits publicly frombase
. Can only be used withbasic_outcome
. -
exception_ptr_rethrow<T, EC, void>
Policy class defining that the ADL discovered free function
rethrow_exception()
should be called on incorrect wide value observation. Inherits publicly frombase
. Can only be used withbasic_result
. -
fail_to_compile_observers
Policy class defining that a static assertion should occur upon compilation of the wide value, error or exception observation. Inherits publicly from
base
. -
terminate
Policy class defining that
std::terminate()
should be called on incorrect wide value, error or exception observation. Inherits publicly frombase
. -
throw_bad_result_access<EC>
Policy class defining that
bad_result_access_with<EC>
should be thrown on incorrect wide value observation. Inherits publicly frombase
.