exception_ptr_rethrow<T, EC, EP>

Note: This policy class specialisation can only be used with basic_outcome, not basic_result. Use exception_ptr_rethrow<T, EC, void> with basic_result.

Policy class defining that the ADL discovered free function rethrow_exception(impl.assume_exception()) if possible, followed by rethrow_exception(impl.assume_error()) should be called on incorrect wide value observation. Generally this will ADL discover std::rethrow_exception() or boost::rethrow_exception() depending on the EC type.

Incorrect wide error observation performs:

OUTCOME_THROW_EXCEPTION(bad_outcome_access("no error"));

Incorrect wide exception observation performs:

OUTCOME_THROW_EXCEPTION(bad_outcome_access("no exception"));

Inherits publicly from base , and its narrow value, error and exception observer policies are inherited from there.

Requires: Nothing.

Namespace: OUTCOME_V2_NAMESPACE::policy

Header: <outcome/policy/outcome_exception_ptr_rethrow.hpp>