• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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