1+++ 2title = "Version macros" 3+++ 4 5*Overridable*: None of the following macros are overridable. 6 7*Header*: `<boost/outcome/config.hpp>` 8 9- <a name="version-major"></a>`BOOST_OUTCOME_VERSION_MAJOR <number>` 10 11 Major version for cmake and DLL version stamping. 12 13- <a name="version-minor"></a>`BOOST_OUTCOME_VERSION_MINOR <number>` 14 15 Minor version for cmake and DLL version stamping. 16 17- <a name="version-patch"></a>`BOOST_OUTCOME_VERSION_PATCH <number>` 18 19 Patch version for cmake and DLL version stamping. 20 21- <a name="version-revision"></a>`BOOST_OUTCOME_VERSION_REVISION <number>` 22 23 Revision version for cmake and DLL version stamping. 24 25- <a name="unstable-version"></a>`BOOST_OUTCOME_UNSTABLE_VERSION <number>` 26 27 Defined between stable releases of Outcome. It means the inline namespace will be permuted per-commit to ensure ABI uniqueness such that multiple versions of Outcome in a single process space cannot collide. 28 29- <a name="v2"></a>`BOOST_OUTCOME_V2 <tokens>` 30 31 The namespace configuration of this Outcome v2. Consists of a sequence of bracketed tokens later fused by the preprocessor into namespace and C++ module names. 32 33- <a name="v2-namespace"></a>`BOOST_OUTCOME_V2_NAMESPACE <identifier>` 34 35 The Outcome namespace, which may be permuted per SHA commit. This is not fully qualified. 36 37- <a name="v2-namespace-begin"></a>`BOOST_OUTCOME_V2_NAMESPACE_BEGIN <keywords and identifiers>` 38 39 Expands into the appropriate namespace markup to enter the Outcome v2 namespace. 40 41- <a name="v2-namespace-export-begin"></a>`BOOST_OUTCOME_V2_NAMESPACE_EXPORT_BEGIN <keywords and identifiers>` 42 43 Expands into the appropriate namespace markup to enter the C++ module exported Outcome v2 namespace. 44 45- <a name="v2-namespace-end"></a>`BOOST_OUTCOME_V2_NAMESPACE_END <keywords and identifiers>` 46 47 Expands into the appropriate namespace markup to exit the Outcome v2 namespace. 48 49