ValueOrError<T, E> - Boost.Outcome documentation

# `ValueOrError<T, E>`

If on C++ 20 or the Concepts TS is enabled, a boolean concept matching types with a public `.has_value()` observer which returns `bool`, a public `.value()` observer function, and a public `.error()` observer function.

If without Concepts, a static constexpr bool which is true for types matching the same requirements, using a SFINAE based emulation.

This concept matches expected-like types such as P0323 `std::expected<T, E>` , one of which is `basic_result<T, E, NoValuePolicy>` . Be aware it does not differentiate between value-or-error types and value-and-error types if they present the interface matched above.

Namespace: `BOOST_OUTCOME_V2_NAMESPACE::convert`

Header: `<boost/outcome/convert.hpp>`

Last revised: December 13, 2018 at 17:36:11 UTC