Navigation :
Prerequisites
Build and install
Review of Error Handling Frameworks
Motivation
Future ABI stability guarantees
Tutorial
Recipes
Experimental
API reference
-
Macros
-- Constrained template macros
-- Version macros
-- `OUTCOME_CO_TRY(var, expr)`
-- `OUTCOME_CO_TRYV(expr)/OUTCOME_CO_TRY(expr)`
-- `OUTCOME_CO_TRYV2(spec, expr)`
-- `OUTCOME_CO_TRYV2_FAILURE_LIKELY(spec, expr)`
-- `OUTCOME_CO_TRYV_FAILURE_LIKELY(expr)/OUTCOME_CO_TRY_FAILURE_LIKELY(expr)`
-- `OUTCOME_CO_TRYX(expr)`
-- `OUTCOME_CO_TRYX_FAILURE_LIKELY(expr)`
-- `OUTCOME_CO_TRY_FAILURE_LIKELY(var, expr)`
-- `OUTCOME_DISABLE_EXECINFO`
-- `OUTCOME_ENABLE_LEGACY_SUPPORT_FOR`
-- `OUTCOME_NODISCARD`
-- `OUTCOME_REQUIRES(...)`
-- `OUTCOME_SYMBOL_VISIBLE`
-- `OUTCOME_THREAD_LOCAL`
-- `OUTCOME_THROW_EXCEPTION(expr)`
-- `OUTCOME_TRY(var, expr)`
-- `OUTCOME_TRYV(expr)/OUTCOME_TRY(expr)`
-- `OUTCOME_TRYV2(spec, expr)`
-- `OUTCOME_TRYV2_FAILURE_LIKELY(spec, expr)`
-- `OUTCOME_TRYV_FAILURE_LIKELY(expr)/OUTCOME_TRY_FAILURE_LIKELY(expr)`
-- `OUTCOME_TRYX(expr)`
-- `OUTCOME_TRYX_FAILURE_LIKELY(expr)`
-- `OUTCOME_TRY_FAILURE_LIKELY(var, expr)`
-- `OUTCOME_USE_STD_IN_PLACE_TYPE`
-- `OUTCOME_USE_STD_IS_NOTHROW_SWAPPABLE`
-
Concepts
-
Converters
-
Traits
-
Policies
-
Types
-
Aliases
-
Functions
Frequently asked questions
Videos
Changelog
History
OUTCOME_THREAD_LOCAL
Compiler-specific markup used to mark variables as having thread local storage duration.
This isn’t used inside Outcome, but is used by its unit test suite.
Overridable : Define before inclusion.
Default : To thread_local
if the compiler implements C++ 11 thread_local
, else __thread
for the one supported compiler (older Mac OS XCode) which does not.
Header : <outcome/config.hpp>