Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
Prev Up HomeNext


Type sugar for constructing a successful result or outcome. Generally not constructed directly, but via the free function success(T &&, ...) . Detectable using is_success_type<T> .

This is a regular wrapper type, with defaulted default, copy and move constructor, defaulted assignment, and defaulted destructor.

A member type alias value_type indicates T.

There is an explicit initialising constructor taking any type U which is not a success_type<T>, and which will forward construct the contained T from that U. It also has an optional parameter spare_storage, if you wish to specify a spare storage value.

There is a .value() reference observer with the usual constexpr lvalue, const lvalue, rvalue and const rvalue overloads.

There is a specialisation success_type<void> which stores nothing and provides no .value() observers.

There is a .spare_storage() observer which returns the spare storage value with which the success type sugar was constructed.

Requires: Nothing.


Header: <boost/outcome/success_failure.hpp>

Last revised: February 23, 2021 at 17:37:27 UTC

Prev Up HomeNext