[DEV] add v1.76.0

This commit is contained in:
2021-10-05 21:37:46 +02:00
parent a97e9ae7d4
commit d0115b733d
45133 changed files with 4744437 additions and 1026325 deletions

View File

@@ -0,0 +1,51 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_CO_TRY(var, expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/version.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_tryv.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_CO_TRY(var, expr)</code></h1></div></div></div>
<p>Evaluate within a coroutine an expression which results in a type matching the following customisation points, assigning <code>T</code> to a decl called <code>var</code> if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>Hints are given to the compiler that the expression will be successful. If you expect failure, you should use <a href="../../reference/macros/co_try_failure_likely.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRY_FAILURE_LIKELY(var, expr)</code></a>
instead.</p>
<p>An internal temporary to hold the value of the expression is created, which generally invokes a copy/move. <a href="../../tutorial/essential/result/try_ref.html">If you wish to never copy/move, you can tell this macro to create the internal temporary as a reference instead.</a></p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: See <a href="../../reference/macros/co_tryv.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRYV(expr)</code></a>
for most of the mechanics.</p>
<p>If successful, <code>var</code> is initialised or assigned to the expression result&rsquo;s <code>.assume_value()</code> if available, else to its <code>.value()</code>. This binds a reference possibly to the <code>T</code> stored inside the bound result of the expression, but possibly also to a temporary emitted from the value observer function.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
<p><em>Legacy</em>: Before Outcome v2.2, <code>var</code> was always declared as an automatic rvalue ref. You can use the backwards compatibility macro <code>OUTCOME21_CO_TRY()</code> if wish to retain the old behaviour.</p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/version.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_tryv.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,51 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_CO_TRY_FAILURE_LIKELY(var, expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_tryx_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/disable_execinfo.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_CO_TRY_FAILURE_LIKELY(var, expr)</code></h1></div></div></div>
<p>Evaluate within a coroutine an expression which results in a type matching the following customisation points, assigning <code>T</code> to a decl called <code>var</code> if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>Hints are given to the compiler that the expression will be unsuccessful. If you expect success, you should use <a href="../../reference/macros/co_try.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRY(var, expr)</code></a>
instead.</p>
<p>An internal temporary to hold the value of the expression is created, which generally invokes a copy/move. <a href="../../tutorial/essential/result/try_ref.html">If you wish to never copy/move, you can tell this macro to create the internal temporary as a reference instead.</a></p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: See <a href="../../reference/macros/co_tryv.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRYV(expr)</code></a>
for most of the mechanics.</p>
<p>If successful, <code>var</code> is initialised or assigned to the expression result&rsquo;s <code>.assume_value()</code> if available, else to its <code>.value()</code>. This binds a reference possibly to the <code>T</code> stored inside the bound result of the expression, but possibly also to a temporary emitted from the value observer function.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
<p><em>Legacy</em>: Before Outcome v2.2, <code>var</code> was always declared as an automatic rvalue ref. You can use the backwards compatibility macro <code>OUTCOME21_CO_TRY()</code> if wish to retain the old behaviour.</p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_tryx_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/disable_execinfo.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,49 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_CO_TRYV(expr)/BOOST_OUTCOME_CO_TRY(expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_try.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_tryv2.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_CO_TRYV(expr)/BOOST_OUTCOME_CO_TRY(expr)</code></h1></div></div></div>
<p>Evaluate from within a coroutine an expression which results in a type matching the following customisation points, continuing execution if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>The difference between the <code>BOOST_OUTCOME_CO_TRYV(expr)</code> and <code>BOOST_OUTCOME_CO_TRY(expr)</code> editions is that the latter will set a variable if two or more macro arguments are present (see <a href="../../reference/macros/co_try.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRY(var, expr)</code></a>
). The former requires the <code>T</code> to be <code>void</code>.</p>
<p>Hints are given to the compiler that the expression will be successful. If you expect failure, you should use <a href="../../reference/macros/co_tryv_failure_likely.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRYV_FAILURE_LIKELY(expr)</code></a>
instead.</p>
<p>An internal temporary to hold the value of the expression is created, which generally invokes a copy/move. <a href="../../tutorial/essential/result/try_ref.html">If you wish to never copy/move, you can tell this macro to create the internal temporary as a reference instead.</a></p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: Firstly the expression&rsquo;s temporary is bound to a uniquely named, stack allocated, <code>auto &amp;&amp;</code>. If that reference&rsquo;s bound object&rsquo;s <code>try_operation_has_value()</code> is false, immediately execute <code>return try_operation_return_as(propagated unique reference);</code>, propagating the rvalue/lvalue/etc-ness of the original expression.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_try.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_tryv2.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,44 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_CO_TRYV2(spec, expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_tryv.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_tryv2_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_CO_TRYV2(spec, expr)</code></h1></div></div></div>
<p>Evaluate an expression which results in a type matching the following customisation points, continuing execution if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>Hints are given to the compiler that the expression will be successful. If you expect failure, you should use <a href="../../reference/macros/tryv2_failure_likely.html" class="api-reference"><code>BOOST_OUTCOME_TRYV2_FAILURE_LIKELY(spec, expr)</code></a>
instead.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: Firstly the expression&rsquo;s temporary is bound to a uniquely named, stack allocated, <code>spec</code>. If that reference&rsquo;s bound object&rsquo;s <code>try_operation_has_value()</code> is false, immediately execute <code>return try_operation_return_as(propagated unique reference);</code>, propagating the rvalue/lvalue/etc-ness of the original expression.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_tryv.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_tryv2_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,44 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_CO_TRYV2_FAILURE_LIKELY(spec, expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_tryv2.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_tryv_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_CO_TRYV2_FAILURE_LIKELY(spec, expr)</code></h1></div></div></div>
<p>Evaluate an expression which results in a type matching the following customisation points, continuing execution if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>Hints are given to the compiler that the expression will be unsuccessful. If you expect success, you should use <a href="../../reference/macros/tryv.html" class="api-reference"><code>BOOST_OUTCOME_TRYV(expr)</code></a>
instead.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: Firstly the expression&rsquo;s temporary is bound to a uniquely named, stack allocated, <code>spec</code>. If that reference&rsquo;s bound object&rsquo;s <code>try_operation_has_value()</code> is false, immediately execute <code>return try_operation_return_as(propagated unique reference);</code>, propagating the rvalue/lvalue/etc-ness of the original expression.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_tryv2.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_tryv_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,49 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_CO_TRYV_FAILURE_LIKELY(expr)/BOOST_OUTCOME_CO_TRY_FAILURE_LIKELY(expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_tryv2_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_tryx.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_CO_TRYV_FAILURE_LIKELY(expr)/BOOST_OUTCOME_CO_TRY_FAILURE_LIKELY(expr)</code></h1></div></div></div>
<p>Evaluate from within a coroutine an expression which results in a type matching the following customisation points, continuing execution if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>The difference between the <code>BOOST_OUTCOME_CO_TRYV(expr)</code> and <code>BOOST_OUTCOME_CO_TRY(expr)</code> editions is that the latter will set a variable if two or more macro arguments are present (see <a href="../../reference/macros/co_try.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRY(var, expr)</code></a>
). The former requires the <code>T</code> to be <code>void</code>.</p>
<p>Hints are given to the compiler that the expression will be unsuccessful. If you expect success, you should use <a href="../../reference/macros/co_tryv.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRYV(expr)</code></a>
instead.</p>
<p>An internal temporary to hold the value of the expression is created, which generally invokes a copy/move. <a href="../../tutorial/essential/result/try_ref.html">If you wish to never copy/move, you can tell this macro to create the internal temporary as a reference instead.</a></p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: Firstly the expression&rsquo;s temporary is bound to a uniquely named, stack allocated, <code>auto &amp;&amp;</code>. If that reference&rsquo;s bound object&rsquo;s <code>try_operation_has_value()</code> is false, immediately execute <code>return try_operation_return_as(propagated unique reference);</code>, propagating the rvalue/lvalue/etc-ness of the original expression.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_tryv2_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_tryx.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,54 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_CO_TRYX(expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_tryv_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_tryx_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_CO_TRYX(expr)</code></h1></div></div></div>
<p>Evaluate within a coroutine an expression which results in a type matching the following customisation points, emitting the <code>T</code> if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>Hints are given to the compiler that the expression will be successful. If you expect failure, you should use <a href="../../reference/macros/co_tryx_failure_likely.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRYX_FAILURE_LIKELY(expr)</code></a>
instead.</p>
<p>An internal temporary to hold the value of the expression is created, which generally invokes a copy/move. <a href="../../tutorial/essential/result/try_ref.html">If you wish to never copy/move, you can tell this macro to create the internal temporary as a reference instead.</a></p>
<p><em>Availability</em>: GCC and clang only. Use <code>#ifdef BOOST_OUTCOME_CO_TRYX</code> to determine if available.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: See <a href="../../reference/macros/co_tryv.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRYV(expr)</code></a>
for most of the mechanics.</p>
<p>This macro makes use of a proprietary extension in GCC and clang to emit the <code>T</code> from a successful expression. You can thus use <code>BOOST_OUTCOME_CO_TRYX(expr)</code> directly in expressions e.g. <code>auto x = y + BOOST_OUTCOME_CO_TRYX(foo(z));</code>.</p>
<p>Be aware there are compiler quirks in preserving the rvalue/lvalue/etc-ness of emitted <code>T</code>&rsquo;s, specifically copy or move constructors may be called unexpectedly and/or copy elision not work as expected. If these prove to be problematic, use <a href="../../reference/macros/co_try.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRY(var, expr)</code></a>
instead.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_tryv_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_tryx_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,54 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_CO_TRYX_FAILURE_LIKELY(expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_tryx.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_try_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_CO_TRYX_FAILURE_LIKELY(expr)</code></h1></div></div></div>
<p>Evaluate within a coroutine an expression which results in a type matching the following customisation points, emitting the <code>T</code> if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>Hints are given to the compiler that the expression will be unsuccessful. If you expect success, you should use <a href="../../reference/macros/co_tryx.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRYX(expr)</code></a>
instead.</p>
<p>An internal temporary to hold the value of the expression is created, which generally invokes a copy/move. <a href="../../tutorial/essential/result/try_ref.html">If you wish to never copy/move, you can tell this macro to create the internal temporary as a reference instead.</a></p>
<p><em>Availability</em>: GCC and clang only. Use <code>#ifdef BOOST_OUTCOME_CO_TRYX</code> to determine if available.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: See <a href="../../reference/macros/co_tryv.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRYV(expr)</code></a>
for most of the mechanics.</p>
<p>This macro makes use of a proprietary extension in GCC and clang to emit the <code>T</code> from a successful expression. You can thus use <code>BOOST_OUTCOME_CO_TRYX(expr)</code> directly in expressions e.g. <code>auto x = y + BOOST_OUTCOME_CO_TRYX(foo(z));</code>.</p>
<p>Be aware there are compiler quirks in preserving the rvalue/lvalue/etc-ness of emitted <code>T</code>&rsquo;s, specifically copy or move constructors may be called unexpectedly and/or copy elision not work as expected. If these prove to be problematic, use <a href="../../reference/macros/co_try.html" class="api-reference"><code>BOOST_OUTCOME_CO_TRY(var, expr)</code></a>
instead.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_tryx.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_try_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,31 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_DISABLE_EXECINFO - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_try_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/enable_legacy_support_for.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_DISABLE_EXECINFO</code></h1></div></div></div>
<p>If defined, disables the use of the <code>&lt;execinfo.h&gt;</code> header (or the win32 emulation).</p>
<p>Some embedded Linux toolchains do not define <code>&lt;execinfo.h&gt;</code>, thus disabling C++ exceptions on those toolchains produces a failure to find this file. Avoid that problem by defining this macro to disable stack backtrace support entirely.</p>
<p><em>Overridable</em>: Define before inclusion.</p>
<p><em>Default</em>: Defined if <code>__ANDROID__</code> is defined, else undefined.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/config.hpp&gt;</code></p>
</div><p><small>Last revised: December 12, 2018 at 22:01:42 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/co_try_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/enable_legacy_support_for.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,29 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/disable_execinfo.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/nodiscard.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></h1></div></div></div>
<p>As Outcome has evolved, some features and especially naming were retired in newer versions. Define this macro to enable backwards compatibility aliasing from old features and naming to new features and naming.</p>
<p><em>Overridable</em>: Define before inclusion.</p>
<p><em>Default</em>: The current version of Outcome, expressed in hundreds e.g. Outcome v2.10 is <code>210</code>.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/config.hpp&gt;</code></p>
</div><p><small>Last revised: May 24, 2020 at 12:48:39 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/disable_execinfo.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/nodiscard.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_USE_STD_IN_PLACE_TYPE - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/try_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/is_nothrow_swappable.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_USE_STD_IN_PLACE_TYPE</code></h1></div></div></div>
<p>How to implement <a href="../../reference/types/in_place_type_t.html" class="api-reference"><code>in_place_type_t&lt;T&gt;</code></a>
and <code>in_place_type&lt;T&gt;</code>.</p>
<p>If set to <code>1</code>, the <code>&lt;utility&gt;</code> header is included, and <code>std::in_place_type_t&lt;T&gt;</code>
is aliased into <code>BOOST_OUTCOME_V2_NAMESPACE::in_place_type_t&lt;T&gt;</code> along with
<code>std::in_place_type&lt;T&gt;</code>.</p>
<p>If set to <code>0</code>, a local emulation is used.</p>
<p><em>Overridable</em>: Define before inclusion.</p>
<p><em>Default</em>: If the current compiler implements C++ 17 or later, if unset
this macro is defaulted to <code>1</code>, otherwise it is defaulted to <code>0</code>.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/config.hpp&gt;</code></p>
</div><p><small>Last revised: January 30, 2019 at 16:16:10 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/try_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/is_nothrow_swappable.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,31 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_USE_STD_IS_NOTHROW_SWAPPABLE - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/in_place_type.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/concepts.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_USE_STD_IS_NOTHROW_SWAPPABLE</code></h1></div></div></div>
<p>Whether to implement <code>is_nothrow_swappable&lt;T&gt;</code> as <code>std::is_nothrow_swappable&lt;T&gt;</code>,
or else use a local emulation.</p>
<p><em>Overridable</em>: Define before inclusion.</p>
<p><em>Default</em>: If the current compiler implements C++ 17 or later, if unset
this macro is defaulted to <code>1</code>, otherwise it is defaulted to <code>0</code>.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/config.hpp&gt;</code></p>
</div><p><small>Last revised: February 05, 2019 at 17:14:18 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/in_place_type.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/concepts.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,29 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_NODISCARD - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/enable_legacy_support_for.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/requires.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_NODISCARD</code></h1></div></div></div>
<p>Compiler-specific markup used to tell the compiler than the return value of a function should not be discarded without examining it.</p>
<p><em>Overridable</em>: Define before inclusion.</p>
<p><em>Default</em>: To <code>[[nodiscard]]</code> if on C++ 17 or higher, <code>__attribute__((warn_unused_result))</code> if on clang, SAL <code>_Must_inspect_result_</code> if on MSVC, otherwise nothing.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/config.hpp&gt;</code></p>
</div><p><small>Last revised: December 12, 2018 at 22:01:42 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/enable_legacy_support_for.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/requires.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,29 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_REQUIRES(&hellip;) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/nodiscard.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/symbol_visible.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_REQUIRES(...)</code></h1></div></div></div>
<p>A C++ 20 <code>requires(...)</code>, if available.</p>
<p><em>Overridable</em>: Define before inclusion.</p>
<p><em>Default</em>: To <code>requires(...)</code> if on C++ 20 or later, else to nothing.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/config.hpp&gt;</code></p>
</div><p><small>Last revised: December 12, 2018 at 22:01:42 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/nodiscard.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/symbol_visible.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,34 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_SYMBOL_VISIBLE - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/requires.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/thread_local.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_SYMBOL_VISIBLE</code></h1></div></div></div>
<p>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.</p>
<p><em>Overridable</em>: Define before inclusion.</p>
<p><em>Default</em>:<dl>
<dt>Standalone Outcome:
<dd>To <code>__attribute__((visibility(&quot;default&quot;))</code> on GCC and clang when targeting ELF, otherwise nothing.
<dt>Boost.Outcome:
<dd>To <code>BOOST_SYMBOL_VISIBLE</code>.
</dl></p>
<p><em>Header</em>: <code>&lt;boost/outcome/config.hpp&gt;</code></p>
</div><p><small>Last revised: December 12, 2018 at 22:01:42 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/requires.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/thread_local.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,56 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Constrained template macros - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/version.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both">Constrained template macros</h1></div></div></div>
<p><em>Overridable</em>: All of the following macros are overridable, define before inclusion.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/config.hpp&gt;</code></p>
<p>These macros expand into either the syntax for directly specifying constrained templates in C++ 20, or into a SFINAE based emulation for earlier C++ versions. Form of usage looks as follows:</p>
<div class="highlight"><pre class="chroma"><code class="language-c++" data-lang="c++"><span class="n">BOOST_OUTCOME_TEMPLATE</span><span class="p">(</span><span class="k">class</span><span class="err"> </span><span class="nc">ErrorCondEnum</span><span class="p">)</span>
<span class="n">BOOST_OUTCOME_TREQUIRES</span><span class="p">(</span>
<span class="c1">// If this is a valid expression
</span><span class="c1"></span> <span class="n">BOOST_OUTCOME_TEXPR</span><span class="p">(</span><span class="n">error_type</span><span class="p">(</span><span class="n">make_error_code</span><span class="p">(</span><span class="n">ErrorCondEnum</span><span class="p">()))),</span>
<span class="c1">// If this predicate is true
</span><span class="c1"></span> <span class="n">BOOST_OUTCOME_TPRED</span><span class="p">(</span><span class="n">predicate</span><span class="o">::</span><span class="k">template</span> <span class="n">enable_error_condition_converting_constructor</span><span class="o">&lt;</span><span class="n">ErrorCondEnum</span><span class="o">&gt;</span><span class="p">)</span>
<span class="c1">// Any additional requirements follow here ...
</span><span class="c1"></span> <span class="p">)</span>
<span class="k">constexpr</span> <span class="n">basic_result</span><span class="p">(</span><span class="n">ErrorCondEnum</span> <span class="o">&amp;&amp;</span><span class="n">t</span><span class="p">,</span> <span class="n">error_condition_converting_constructor_tag</span> <span class="cm">/*unused*/</span> <span class="o">=</span> <span class="p">{});</span>
</code></pre></div>
<p>Be aware that slightly different semantics occur for real C++ 20 constrained templates than for the SFINAE emulation.</p>
<ul>
<li><p><a name="template"></a><code>BOOST_OUTCOME_TEMPLATE(template args ...)</code></p>
<p>Begins a constrained template declaration.</p></li>
<li><p><a name="trequires"></a><code>BOOST_OUTCOME_TREQUIRES(requirements ...)</code></p>
<p>Specifies the requirements for the constrained template to be available for selection by the compiler.</p></li>
<li><p><a name="texpr"></a><code>BOOST_OUTCOME_TEXPR(expression)</code></p>
<p>A requirement that the given expression is valid.</p></li>
<li><p><a name="tpred"></a><code>BOOST_OUTCOME_TPRED(boolean)</code></p>
<p>A requirement that the given constant time expression is true.</p></li>
</ul>
</div><p><small>Last revised: December 12, 2018 at 22:01:42 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/version.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,36 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_THREAD_LOCAL - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/symbol_visible.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/throw_exception.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_THREAD_LOCAL</code></h1></div></div></div>
<p>Compiler-specific markup used to mark variables as having thread local storage duration.</p>
<div class="notices note" style="background: url('../../images/note.png') top left no-repeat padding-box padding-box;">
<div class="notices heading">note</div>
<div class="notices message"><p>This isn&rsquo;t used inside Outcome, but is used by its unit test suite.</p>
</div>
</div>
<p><em>Overridable</em>: Define before inclusion.</p>
<p><em>Default</em>: To <code>thread_local</code> if the compiler implements C++ 11 <code>thread_local</code>, else <code>__thread</code> for the one supported compiler (older Mac OS XCode) which does not.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/config.hpp&gt;</code></p>
</div><p><small>Last revised: December 12, 2018 at 22:01:42 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/symbol_visible.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/throw_exception.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,36 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_THROW_EXCEPTION(expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/thread_local.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/try.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_THROW_EXCEPTION(expr)</code></h1></div></div></div>
<p>Throws a C++ exception, or equivalent thereof.</p>
<p><em>Overridable</em>: Define before inclusion.</p>
<p><em>Default</em>:<dl>
<dt>Standalone Outcome (C++ exceptions enabled):
<dd>To <code>throw expr</code>
<dt>Standalone Outcome (C++ exceptions disabled):
<dd>To <code>BOOST_OUTCOME_V2_NAMESPACE::detail::do_fatal_exit(#expr)</code> which is a function which prints a useful error message including a stack backtrace (where available) to <code>stderr</code> before calling <code>abort()</code>.
<dt>Boost.Outcome:
<dd>To <code>BOOST_THROW_EXCEPTION(expr)</code>.
</dl></p>
<p><em>Header</em>: <code>&lt;boost/outcome/config.hpp&gt;</code></p>
</div><p><small>Last revised: December 12, 2018 at 22:01:42 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/thread_local.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/try.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,51 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_TRY(var, expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/throw_exception.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/tryv.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_TRY(var, expr)</code></h1></div></div></div>
<p>Evaluate an expression which results in a type matching the following customisation points, assigning <code>T</code> to a decl called <code>var</code> if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>Hints are given to the compiler that the expression will be successful. If you expect failure, you should use <a href="../../reference/macros/try_failure_likely.html" class="api-reference"><code>BOOST_OUTCOME_TRY_FAILURE_LIKELY(var, expr)</code></a>
instead.</p>
<p>An internal temporary to hold the value of the expression is created, which generally invokes a copy/move. <a href="../../tutorial/essential/result/try_ref.html">If you wish to never copy/move, you can tell this macro to create the internal temporary as a reference instead.</a></p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: See <a href="../../reference/macros/tryv.html" class="api-reference"><code>BOOST_OUTCOME_TRYV(expr)</code></a>
for most of the mechanics.</p>
<p>If successful, <code>var</code> is initialised or assigned to the expression result&rsquo;s <code>.assume_value()</code> if available, else to its <code>.value()</code>. This binds a reference possibly to the <code>T</code> stored inside the bound result of the expression, but possibly also to a temporary emitted from the value observer function.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
<p><em>Legacy</em>: Before Outcome v2.2, <code>var</code> was always declared as an automatic rvalue ref. You can use the backwards compatibility macro <code>OUTCOME21_TRY()</code> if wish to retain the old behaviour.</p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/throw_exception.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/tryv.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,51 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_TRY_FAILURE_LIKELY(var, expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/tryx_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/in_place_type.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_TRY_FAILURE_LIKELY(var, expr)</code></h1></div></div></div>
<p>Evaluate an expression which results in a type matching the following customisation points, assigning <code>T</code> to a decl called <code>var</code> if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>Hints are given to the compiler that the expression will be unsuccessful. If you expect success, you should use <a href="../../reference/macros/try.html" class="api-reference"><code>BOOST_OUTCOME_TRY(var, expr)</code></a>
instead.</p>
<p>An internal temporary to hold the value of the expression is created, which generally invokes a copy/move. <a href="../../tutorial/essential/result/try_ref.html">If you wish to never copy/move, you can tell this macro to create the internal temporary as a reference instead.</a></p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: See <a href="../../reference/macros/tryv.html" class="api-reference"><code>BOOST_OUTCOME_TRYV(expr)</code></a>
for most of the mechanics.</p>
<p>If successful, <code>var</code> is initialised or assigned to the expression result&rsquo;s <code>.assume_value()</code> if available, else to its <code>.value()</code>. This binds a reference possibly to the <code>T</code> stored inside the bound result of the expression, but possibly also to a temporary emitted from the value observer function.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
<p><em>Legacy</em>: Before Outcome v2.2, <code>var</code> was always declared as an automatic rvalue ref. You can use the backwards compatibility macro <code>OUTCOME21_CO_TRY()</code> if wish to retain the old behaviour.</p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/tryx_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/in_place_type.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,49 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_TRYV(expr)/BOOST_OUTCOME_TRY(expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/try.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/tryv2.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_TRYV(expr)/BOOST_OUTCOME_TRY(expr)</code></h1></div></div></div>
<p>Evaluate an expression which results in a type matching the following customisation points, continuing execution if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>The difference between the <code>BOOST_OUTCOME_TRYV(expr)</code> and <code>BOOST_OUTCOME_TRY(expr)</code> editions is that the latter will set a variable if two or more macro arguments are present (see <a href="../../reference/macros/try.html" class="api-reference"><code>BOOST_OUTCOME_TRY(var, expr)</code></a>
). The former requires the <code>T</code> to be <code>void</code>.</p>
<p>Hints are given to the compiler that the expression will be successful. If you expect failure, you should use <a href="../../reference/macros/tryv_failure_likely.html" class="api-reference"><code>BOOST_OUTCOME_TRYV_FAILURE_LIKELY(expr)</code></a>
instead.</p>
<p>An internal temporary to hold the value of the expression is created, which generally invokes a copy/move. <a href="../../tutorial/essential/result/try_ref.html">If you wish to never copy/move, you can tell this macro to create the internal temporary as a reference instead.</a></p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: Firstly the expression&rsquo;s temporary is bound to a uniquely named, stack allocated, <code>auto &amp;&amp;</code>. If that reference&rsquo;s bound object&rsquo;s <code>try_operation_has_value()</code> is false, immediately execute <code>return try_operation_return_as(propagated unique reference);</code>, propagating the rvalue/lvalue/etc-ness of the original expression.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/try.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/tryv2.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,44 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_TRYV2(spec, expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/tryv.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/tryv2_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_TRYV2(spec, expr)</code></h1></div></div></div>
<p>Evaluate an expression which results in a type matching the following customisation points, continuing execution if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>Hints are given to the compiler that the expression will be successful. If you expect failure, you should use <a href="../../reference/macros/tryv2_failure_likely.html" class="api-reference"><code>BOOST_OUTCOME_TRYV2_FAILURE_LIKELY(spec, expr)</code></a>
instead.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: Firstly the expression&rsquo;s temporary is bound to a uniquely named, stack allocated, <code>spec</code>. If that reference&rsquo;s bound object&rsquo;s <code>try_operation_has_value()</code> is false, immediately execute <code>return try_operation_return_as(propagated unique reference);</code>, propagating the rvalue/lvalue/etc-ness of the original expression.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/tryv.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/tryv2_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,44 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_TRYV2_FAILURE_LIKELY(spec, expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/tryv2.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/tryv_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_TRYV2_FAILURE_LIKELY(spec, expr)</code></h1></div></div></div>
<p>Evaluate an expression which results in a type matching the following customisation points, continuing execution if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>Hints are given to the compiler that the expression will be unsuccessful. If you expect success, you should use <a href="../../reference/macros/tryv.html" class="api-reference"><code>BOOST_OUTCOME_TRYV(expr)</code></a>
instead.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: Firstly the expression&rsquo;s temporary is bound to a uniquely named, stack allocated, <code>spec</code>. If that reference&rsquo;s bound object&rsquo;s <code>try_operation_has_value()</code> is false, immediately execute <code>return try_operation_return_as(propagated unique reference);</code>, propagating the rvalue/lvalue/etc-ness of the original expression.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/tryv2.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/tryv_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,49 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_TRYV_FAILURE_LIKELY(expr)/BOOST_OUTCOME_TRY_FAILURE_LIKELY(expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/tryv2_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/tryx.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_TRYV_FAILURE_LIKELY(expr)/BOOST_OUTCOME_TRY_FAILURE_LIKELY(expr)</code></h1></div></div></div>
<p>Evaluate an expression which results in a type matching the following customisation points, continuing execution if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>The difference between the <code>BOOST_OUTCOME_TRYV(expr)</code> and <code>BOOST_OUTCOME_TRY(expr)</code> editions is that the latter will set a variable if two or more macro arguments are present (see <a href="../../reference/macros/try.html" class="api-reference"><code>BOOST_OUTCOME_TRY(var, expr)</code></a>
). The former requires the <code>T</code> to be <code>void</code>.</p>
<p>Hints are given to the compiler that the expression will be unsuccessful. If you expect success, you should use <a href="../../reference/macros/tryv.html" class="api-reference"><code>BOOST_OUTCOME_TRYV(expr)</code></a>
instead.</p>
<p>An internal temporary to hold the value of the expression is created, which generally invokes a copy/move. <a href="../../tutorial/essential/result/try_ref.html">If you wish to never copy/move, you can tell this macro to create the internal temporary as a reference instead.</a></p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: Firstly the expression&rsquo;s temporary is bound to a uniquely named, stack allocated, <code>auto &amp;&amp;</code>. If that reference&rsquo;s bound object&rsquo;s <code>try_operation_has_value()</code> is false, immediately execute <code>return try_operation_return_as(propagated unique reference);</code>, propagating the rvalue/lvalue/etc-ness of the original expression.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/tryv2_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/tryx.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,54 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_TRYX(expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/tryv_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/tryx_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_TRYX(expr)</code></h1></div></div></div>
<p>Evaluate an expression which results in a type matching the following customisation points, emitting the <code>T</code> if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>Hints are given to the compiler that the expression will be successful. If you expect failure, you should use <a href="../../reference/macros/tryx_failure_likely.html" class="api-reference"><code>BOOST_OUTCOME_TRYX_FAILURE_LIKELY(expr)</code></a>
instead.</p>
<p>An internal temporary to hold the value of the expression is created, which generally invokes a copy/move. <a href="../../tutorial/essential/result/try_ref.html">If you wish to never copy/move, you can tell this macro to create the internal temporary as a reference instead.</a></p>
<p><em>Availability</em>: GCC and clang only. Use <code>#ifdef BOOST_OUTCOME_TRYX</code> to determine if available.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: See <a href="../../reference/macros/tryv.html" class="api-reference"><code>BOOST_OUTCOME_TRYV(expr)</code></a>
for most of the mechanics.</p>
<p>This macro makes use of a proprietary extension in GCC and clang to emit the <code>T</code> from a successful expression. You can thus use <code>BOOST_OUTCOME_TRYX(expr)</code> directly in expressions e.g. <code>auto x = y + BOOST_OUTCOME_TRYX(foo(z));</code>.</p>
<p>Be aware there are compiler quirks in preserving the rvalue/lvalue/etc-ness of emitted <code>T</code>&rsquo;s, specifically copy or move constructors may be called unexpectedly and/or copy elision not work as expected. If these prove to be problematic, use <a href="../../reference/macros/try.html" class="api-reference"><code>BOOST_OUTCOME_TRY(var, expr)</code></a>
instead.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/tryv_failure_likely.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/tryx_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,54 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>BOOST_OUTCOME_TRYX_FAILURE_LIKELY(expr) - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/tryx.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/try_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>BOOST_OUTCOME_TRYX_FAILURE_LIKELY(expr)</code></h1></div></div></div>
<p>Evaluate an expression which results in a type matching the following customisation points, emitting the <code>T</code> if successful, immediately returning <a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
from the calling function if unsuccessful:</p>
<ul>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_has_value.html" class="api-reference"><code>try_operation_has_value(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_return_as.html" class="api-reference"><code>try_operation_return_as(X)</code></a>
</li>
<li><code>BOOST_OUTCOME_V2_NAMESPACE::</code><a href="../../reference/functions/try_operation_extract_value.html" class="api-reference"><code>try_operation_extract_value(X)</code></a>
</li>
</ul>
<p>Default overloads for these customisation points are provided. See <a href="../../recipes/foreign-try.html">the recipe for supporting foreign input to <code>BOOST_OUTCOME_TRY</code></a>.</p>
<p>Hints are given to the compiler that the expression will be unsuccessful. If you expect success, you should use <a href="../../reference/macros/tryx.html" class="api-reference"><code>BOOST_OUTCOME_TRYX(expr)</code></a>
instead.</p>
<p>An internal temporary to hold the value of the expression is created, which generally invokes a copy/move. <a href="../../tutorial/essential/result/try_ref.html">If you wish to never copy/move, you can tell this macro to create the internal temporary as a reference instead.</a></p>
<p><em>Availability</em>: GCC and clang only. Use <code>#ifdef BOOST_OUTCOME_TRYX</code> to determine if available.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Definition</em>: See <a href="../../reference/macros/tryv.html" class="api-reference"><code>BOOST_OUTCOME_TRYV(expr)</code></a>
for most of the mechanics.</p>
<p>This macro makes use of a proprietary extension in GCC and clang to emit the <code>T</code> from a successful expression. You can thus use <code>BOOST_OUTCOME_TRYX(expr)</code> directly in expressions e.g. <code>auto x = y + BOOST_OUTCOME_TRYX(foo(z));</code>.</p>
<p>Be aware there are compiler quirks in preserving the rvalue/lvalue/etc-ness of emitted <code>T</code>&rsquo;s, specifically copy or move constructors may be called unexpectedly and/or copy elision not work as expected. If these prove to be problematic, use <a href="../../reference/macros/try.html" class="api-reference"><code>BOOST_OUTCOME_TRY(var, expr)</code></a>
instead.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: February 12, 2021 at 20:25:43 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/tryx.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/try_failure_likely.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,67 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Version macros - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
<link rel="icon" href="../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/template.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_try.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both">Version macros</h1></div></div></div>
<p><em>Overridable</em>: None of the following macros are overridable.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/config.hpp&gt;</code></p>
<ul>
<li><p><a name="version-major"></a><code>BOOST_OUTCOME_VERSION_MAJOR &lt;number&gt;</code></p>
<p>Major version for cmake and DLL version stamping.</p></li>
<li><p><a name="version-minor"></a><code>BOOST_OUTCOME_VERSION_MINOR &lt;number&gt;</code></p>
<p>Minor version for cmake and DLL version stamping.</p></li>
<li><p><a name="version-patch"></a><code>BOOST_OUTCOME_VERSION_PATCH &lt;number&gt;</code></p>
<p>Patch version for cmake and DLL version stamping.</p></li>
<li><p><a name="version-revision"></a><code>BOOST_OUTCOME_VERSION_REVISION &lt;number&gt;</code></p>
<p>Revision version for cmake and DLL version stamping.</p></li>
<li><p><a name="unstable-version"></a><code>BOOST_OUTCOME_UNSTABLE_VERSION &lt;number&gt;</code></p>
<p>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.</p></li>
<li><p><a name="v2"></a><code>BOOST_OUTCOME_V2 &lt;tokens&gt;</code></p>
<p>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.</p></li>
<li><p><a name="v2-namespace"></a><code>BOOST_OUTCOME_V2_NAMESPACE &lt;identifier&gt;</code></p>
<p>The Outcome namespace, which may be permuted per SHA commit. This is not fully qualified.</p></li>
<li><p><a name="v2-namespace-begin"></a><code>BOOST_OUTCOME_V2_NAMESPACE_BEGIN &lt;keywords and identifiers&gt;</code></p>
<p>Expands into the appropriate namespace markup to enter the Outcome v2 namespace.</p></li>
<li><p><a name="v2-namespace-export-begin"></a><code>BOOST_OUTCOME_V2_NAMESPACE_EXPORT_BEGIN &lt;keywords and identifiers&gt;</code></p>
<p>Expands into the appropriate namespace markup to enter the C++ module exported Outcome v2 namespace.</p></li>
<li><p><a name="v2-namespace-end"></a><code>BOOST_OUTCOME_V2_NAMESPACE_END &lt;keywords and identifiers&gt;</code></p>
<p>Expands into the appropriate namespace markup to exit the Outcome v2 namespace.</p></li>
</ul>
</div><p><small>Last revised: December 12, 2018 at 22:01:42 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/macros/template.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/macros.html"><img src="../../images/up.png" alt="Up"></a>
<a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="../../reference/macros/co_try.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>