Tutorial
-
Essential
The absolute minimum that you need to know to get started with Outcome immediately.
-
Before we begin
Essential information before you begin the tutorial.
-
result<>
Gentle introduction to writing code with simple success-or-failure return types.
-
outcome<>
Success-or-failure return types where failure can take two forms, expected/handled failure and unexpected/abort failure.
-
No-value policies
Describes the concept of NoValuePolicy and how to use no-value policies.
-
Coroutines
Using Outcome in C++ Coroutines
-
Conventions
Why you should avoid custom
E
types in public APIs.
-
Before we begin
-
Advanced
If you have a bit more time, this covers all the time-saving ways you can customise and automate Outcome for various use cases, especially in larger codebases made up of multiple third party libraries.
-
Custom payloads
Success-or-failure return types where extra information in addition to the error code accompanies failure.
-
Result returning constructors
How to metaprogram construction of objects which use result
to return failure instead of throwing a C++ exception. -
Hooking events
Intercepting useful events such as initial construction, copies and moves so you can capture backtraces, fire debug breakpoints etc.
-
Interoperation
Interoperating with std::expected
and other ValueOrError concept matching types.
-
Custom payloads