::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>