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


