is_error_code_available<T>
::value
is true if an error code can be constructed from a T
e.g. if there exists an ADL discovered free function make_error_code(T)
.
::type
is the type that would result if ::value
is true, else void
.
Overridable: By template specialisation into the trait
namespace.
Default: True if T
is an error code, else to metaprogramming which performs the ADL discovery of make_error_code(T)
. Note that the STL defines multiple overloads of an ADL discovered free function
std::make_error_code(T)
for its error enumerations, as does Boost.System for the Boost error enumerations. Thus this trait will pick up those free functions for those error types.
Namespace: OUTCOME_V2_NAMESPACE::trait
Header: <outcome/trait.hpp>
Variable alias: is_error_code_available_v<T>