Navigation :
Prerequisites
Build and install
Review of Error Handling Frameworks
Motivation
Future ABI stability guarantees
Tutorial
Recipes
Experimental
API reference
-
Macros
-
Concepts
-
Converters
-
Traits
-
Policies
-
Types
-
Aliases
-
Functions
--
Hooks
--- `uint16_t spare_storage(const basic_result|basic_outcome *) noexcept`
--- `void hook_outcome_construction(T *, U &&) noexcept`
--- `void hook_outcome_construction(T *, U &&, V &&) noexcept`
--- `void hook_outcome_copy_construction(T *, U &&) noexcept`
--- `void hook_outcome_copy_construction(T *, U &&, V &&) noexcept`
--- `void hook_outcome_in_place_construction(T *, in_place_type_t<U>, Args &&...) noexcept`
--- `void hook_outcome_move_construction(T *, U &&) noexcept`
--- `void hook_outcome_move_construction(T *, U &&, V &&) noexcept`
--- `void hook_result_construction(T *, U &&) noexcept`
--- `void hook_result_copy_construction(T *, U &&) noexcept`
--- `void hook_result_in_place_construction(T *, in_place_type_t<U>, Args &&...) noexcept`
--- `void hook_result_move_construction(T *, U &&) noexcept`
--- `void override_outcome_exception(basic_outcome<T, EC, EP, NoValuePolicy> *, U &&) noexcept`
--- `void set_spare_storage(basic_result|basic_outcome *, uint16_t) noexcept`
--
Iostream
--
Policy
-- `auto failure(T &&, ...)`
-- `auto success(T &&, ...)`
-- `bool try_operation_has_value(X)`
-- `decltype(auto) try_operation_extract_value(X)`
-- `decltype(auto) try_operation_return_as(X)`
-- `std::error_code error_from_exception(std::exception_ptr &&ep = std::current_exception(), std::error_code not_matched = std::make_error_code(std::errc::resource_unavailable_try_again)) noexcept`
-- `void strong_swap(bool &all_good, T &a, T &b)`
-- `void try_throw_std_exception_from_error(std::error_code ec, const std::string &msg = std::string{})`
Frequently asked questions
Videos
Changelog
History
void hook_outcome_copy_construction(T *, U &&, V &&) noexcept
Removed in Outcome v2.2.0, unless OUTCOME_ENABLE_LEGACY_SUPPORT_FOR
is set to less than 220
to
enable emulation. Use on_outcome_copy_construction(T *, U &&, V &&) noexcept
instead in new code.
One of the constructor hooks for basic_outcome<T, EC, EP, NoValuePolicy>
, generally invoked by the converting copy constructors of basic_outcome
(NOT the standard copy constructor) which consume two arguments. See each constructor’s documentation to see which specific hook it invokes.
Overridable : By Argument Dependent Lookup.
Requires : Nothing.
Namespace : OUTCOME_V2_NAMESPACE::hooks
Header : <outcome/basic_outcome.hpp>