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_SYMBOL_VISIBLE
Compiler-specific markup used to mark throwable types as always having default ELF symbol visibility, without which it will be impossible to catch throws of such types across shared library boundaries on ELF only.
Overridable : Define before inclusion.
Default :
Standalone Outcome:
To __attribute__((visibility("default"))
on GCC and clang when targeting ELF, otherwise nothing.
Boost.Outcome:
To BOOST_SYMBOL_VISIBLE
.
Header : <outcome/config.hpp>