[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,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>Aliases - 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/types/success_type.html"><img src="../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../reference.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/aliases/boost_checked.html"><img src="../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both">Aliases</h1></div></div></div>
<ol class="children children-li"><li>
<a href="../reference/aliases/boost_checked.html" ><code>boost_checked&lt;T, E = boost::system::error_code&gt;</code></a>
<p>A type alias to a <code>basic_result</code> configured with <code>boost::system::error_code</code> and <code>policy::throw_bad_result_access&lt;EC&gt;</code>.</p><li>
<a href="../reference/aliases/boost_outcome.html" ><code>boost_outcome&lt;T, EC = boost::system::error_code, EP = boost::exception_ptr, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt;</code></a>
<p>A type alias to a <code>basic_outcome</code> configured with <code>boost::system::error_code</code>, <code>boost::exception_ptr</code> and <code>policy::default_policy</code>.</p><li>
<a href="../reference/aliases/boost_result.html" ><code>boost_result&lt;T, E = boost::system::error_code, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt;</code></a>
<p>A type alias to a <code>basic_result</code> configured with <code>boost::system::error_code</code> and <code>policy::default_policy</code>.</p><li>
<a href="../reference/aliases/boost_unchecked.html" ><code>boost_unchecked&lt;T, E = boost::system::error_code&gt;</code></a>
<p>A type alias to a <code>basic_result</code> configured with <code>boost::system::error_code</code> and <code>policy::all_narrow</code>.</p><li>
<a href="../reference/aliases/checked.html" ><code>checked&lt;T, E = varies&gt;</code></a>
<p>A type alias to a <code>std_checked&lt;T, E&gt;</code> (standalone edition) or <code>boost_checked&lt;T, E&gt;</code> (Boost edition).</p><li>
<a href="../reference/aliases/default_policy.html" ><code>default_policy&lt;T, EC, EP&gt;</code></a>
<p>A type alias to a no-value policy selected based on traits matching of <code>T</code>, <code>EC</code> and <code>EP</code>.</p><li>
<a href="../reference/aliases/outcome.html" ><code>outcome&lt;T, EC = varies, EP = varies, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt;</code></a>
<p>A type alias to a <code>std_outcome&lt;T, EC, EP, NoValuePolicy&gt;</code> (standalone edition) or <code>boost_outcome&lt;T, EC, EP, NoValuePolicy&gt;</code> (Boost edition).</p><li>
<a href="../reference/aliases/result.html" ><code>result&lt;T, E = varies, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt;</code></a>
<p>A type alias to a <code>std_result&lt;T, E, NoValuePolicy&gt;</code> (standalone edition) or <code>boost_result&lt;T, E, NoValuePolicy&gt;</code> (Boost edition).</p><li>
<a href="../reference/aliases/std_checked.html" ><code>std_checked&lt;T, E = std::error_code&gt;</code></a>
<p>A type alias to a <code>basic_result</code> configured with <code>std::error_code</code> and <code>policy::throw_bad_result_access&lt;EC&gt;</code>.</p><li>
<a href="../reference/aliases/std_outcome.html" ><code>std_outcome&lt;T, EC = std::error_code, EP = std::exception_ptr, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt;</code></a>
<p>A type alias to a <code>basic_outcome</code> configured with <code>std::error_code</code>, <code>std::exception_ptr</code> and <code>policy::default_policy</code>.</p><li>
<a href="../reference/aliases/std_result.html" ><code>std_result&lt;T, E = std::error_code, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt;</code></a>
<p>A type alias to a <code>basic_result</code> configured with <code>std::error_code</code> and <code>policy::default_policy</code>.</p><li>
<a href="../reference/aliases/std_unchecked.html" ><code>std_unchecked&lt;T, E = std::error_code&gt;</code></a>
<p>A type alias to a <code>basic_result</code> configured with <code>std::error_code</code> and <code>policy::all_narrow</code>.</p><li>
<a href="../reference/aliases/unchecked.html" ><code>unchecked&lt;T, E = varies&gt;</code></a>
<p>A type alias to a <code>std_unchecked&lt;T, E&gt;</code> (standalone edition) or <code>boost_unchecked&lt;T, E&gt;</code> (Boost edition).</p></li></ol>
</div><p><small>Last revised: December 13, 2018 at 21:10:19 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../reference/types/success_type.html"><img src="../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../reference.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/aliases/boost_checked.html"><img src="../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,33 @@
<!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_checked&lt;T, E = boost::system::error_code&gt; - 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/aliases.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/boost_outcome.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>boost_checked&lt;T, E = boost::system::error_code&gt;</code></h1></div></div></div>
<p>A type alias to a <a href="../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
configured with <code>boost::system::error_code</code> and <code>policy::</code><a href="../../reference/policies/throw_bad_result_access.html" class="api-reference"><code>throw_bad_result_access&lt;EC&gt;</code></a>
.</p>
<p>This type alias always references the <code>boost</code> edition of things, unlike <a href="../../reference/aliases/checked.html" class="api-reference"><code>checked&lt;T, E = varies&gt;</code></a>
which references either this alias or <a href="../../reference/aliases/std_checked.html" class="api-reference"><code>std_checked&lt;T, E = std::error_code&gt;</code></a>
.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/boost_result.hpp&gt;</code></p>
</div><p><small>Last revised: January 24, 2019 at 01:15:16 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/aliases.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/boost_outcome.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,35 @@
<!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&lt;T, EC = boost::system::error_code, EP = boost::exception_ptr, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt; - 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/aliases/boost_checked.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/boost_result.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&lt;T, EC = boost::system::error_code, EP = boost::exception_ptr, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt;</code></h1></div></div></div>
<p>A type alias to a <a href="../../reference/types/basic_outcome.html" class="api-reference"><code>basic_outcome&lt;T, EC, EP, NoValuePolicy&gt;</code></a>
configured with <a href="../../motivation/plug_error_code2.html" class="api-reference"><code>boost::system::error_code</code></a>
, <a href="../../reference/aliases/boost_outcome.html" class="api-reference"><code>boost::exception_ptr</code></a>
and <code>policy::</code><a href="../../reference/aliases/default_policy.html" class="api-reference"><code>default_policy</code></a>
.</p>
<p>This type alias always references the <code>std</code> edition of things, unlike <a href="../../reference/aliases/outcome.html" class="api-reference"><code>outcome&lt;T, EC = varies, EP = varies, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt;</code></a>
which references either this alias or <a href="../../reference/aliases/std_outcome.html" class="api-reference"><code>std_outcome&lt;T, EC = std::error_code, EP = std::exception_ptr, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt;</code></a>
.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/boost_outcome.hpp&gt;</code></p>
</div><p><small>Last revised: February 01, 2019 at 23:42:52 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/aliases/boost_checked.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/boost_result.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,33 @@
<!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_result&lt;T, E = boost::system::error_code, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt; - 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/aliases/boost_outcome.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/boost_unchecked.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>boost_result&lt;T, E = boost::system::error_code, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt;</code></h1></div></div></div>
<p>A type alias to a <a href="../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
configured with <code>boost::system::error_code</code> and <code>policy::</code><a href="../../reference/aliases/default_policy.html" class="api-reference"><code>default_policy</code></a>
.</p>
<p>This type alias always references the <code>boost</code> edition of things, unlike <a href="../../reference/aliases/result.html" class="api-reference"><code>result&lt;T, E = varies, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt;</code></a>
which references either this alias or <a href="../../reference/aliases/std_result.html" class="api-reference"><code>std_result&lt;T, E = std::error_code, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt;</code></a>
.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/boost_result.hpp&gt;</code></p>
</div><p><small>Last revised: January 24, 2019 at 01:15:16 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/aliases/boost_outcome.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/boost_unchecked.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,33 @@
<!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_unchecked&lt;T, E = boost::system::error_code&gt; - 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/aliases/boost_result.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/checked.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>boost_unchecked&lt;T, E = boost::system::error_code&gt;</code></h1></div></div></div>
<p>A type alias to a <a href="../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
configured with <code>boost::system::error_code</code> and <code>policy::</code><a href="../../reference/policies/all_narrow.html" class="api-reference"><code>all_narrow</code></a>
.</p>
<p>This type alias always references the <code>boost</code> edition of things, unlike <a href="../../reference/aliases/unchecked.html" class="api-reference"><code>unchecked&lt;T, E = varies&gt;</code></a>
which references either this alias or <a href="../../reference/aliases/std_unchecked.html" class="api-reference"><code>std_unchecked&lt;T, E = std::error_code&gt;</code></a>
.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/boost_result.hpp&gt;</code></p>
</div><p><small>Last revised: January 24, 2019 at 01:15:16 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/aliases/boost_result.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/checked.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>checked&lt;T, E = varies&gt; - 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/aliases/boost_unchecked.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/default_policy.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>checked&lt;T, E = varies&gt;</code></h1></div></div></div>
<p>A type alias to either <a href="../../reference/aliases/std_checked.html" class="api-reference"><code>std_checked&lt;T, E = std::error_code&gt;</code></a>
(standalone edition) or <a href="../../reference/aliases/boost_checked.html" class="api-reference"><code>boost_checked&lt;T, E = boost::system::error_code&gt;</code></a>
(Boost edition). This means that <code>checked&lt;T&gt;</code> uses the appropriate default alias depending on which edition of Outcome is in use.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/result.hpp&gt;</code></p>
</div><p><small>Last revised: January 24, 2019 at 01:15:16 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/aliases/boost_unchecked.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/default_policy.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,45 @@
<!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>default_policy&lt;T, EC, EP&gt; - 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/aliases/checked.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/outcome.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>default_policy&lt;T, EC, EP&gt;</code></h1></div></div></div>
<p>A type alias to a no-value policy selected based on traits matching of <code>T</code>, <code>EC</code> and <code>EP</code>. It is defined as follows:</p>
<ol>
<li><p>If <code>EC</code> and <code>EP</code> is <code>void</code>, choose <a href="../../reference/policies/terminate.html" class="api-reference"><code>terminate</code></a>
.</p></li>
<li><p>If <a href="../../reference/traits/is_error_code_available.html" class="api-reference"><code>is_error_code_available&lt;T&gt;</code></a>
true for <code>EC</code>, choose <a href="../../reference/policies/error_code_throw_as_system_error_outcome.html" class="api-reference"><code>error_code_throw_as_system_error&lt;T, EC, EP&gt;</code></a>
for <code>basic_outcome</code> or <a href="../../reference/policies/error_code_throw_as_system_error_result.html" class="api-reference"><code>error_code_throw_as_system_error&lt;T, EC, void&gt;</code></a>
for <code>basic_result</code>.</p></li>
<li><p>If <a href="../../reference/traits/is_exception_ptr_available.html" class="api-reference"><code>is_exception_ptr_available&lt;T&gt;</code></a>
true for <code>EC</code> or <code>EP</code>, choose <a href="../../reference/policies/exception_ptr_rethrow_outcome.html" class="api-reference"><code>exception_ptr_rethrow&lt;T, EC, EP&gt;</code></a>
for <code>basic_outcome</code> or <a href="../../reference/policies/exception_ptr_rethrow_result.html" class="api-reference"><code>exception_ptr_rethrow&lt;T, EC, void&gt;</code></a>
for <code>basic_result</code>.</p></li>
<li><p>Else choose <a href="../../reference/policies/fail_to_compile_observers.html" class="api-reference"><code>fail_to_compile_observers</code></a>
, which fails the build with a useful message.</p></li>
</ol>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::policy</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/std_result.hpp&gt;</code></p>
</div><p><small>Last revised: February 05, 2019 at 21:41:47 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/aliases/checked.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/outcome.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,30 @@
<!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>outcome&lt;T, EC = varies, EP = varies, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt; - 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/aliases/default_policy.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/result.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>outcome&lt;T, EC = varies, EP = varies, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt;</code></h1></div></div></div>
<p>A type alias to either <a href="../../reference/aliases/std_outcome.html" class="api-reference"><code>std_outcome&lt;T, EC = std::error_code, EP = std::exception_ptr, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt;</code></a>
(standalone edition) or <a href="../../reference/aliases/boost_outcome.html" class="api-reference"><code>boost_outcome&lt;T, EC = boost::system::error_code, EP = boost::exception_ptr, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt;</code></a>
(Boost edition), and <code>policy::</code><a href="../../reference/aliases/default_policy.html" class="api-reference"><code>default_policy</code></a>
. This means that <code>outcome&lt;T&gt;</code> uses the appropriate default alias depending on which edition of Outcome is in use.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/outcome.hpp&gt;</code></p>
</div><p><small>Last revised: February 01, 2019 at 23:42:52 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/aliases/default_policy.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/result.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,30 @@
<!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>result&lt;T, E = varies, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt; - 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/aliases/outcome.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/std_checked.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>result&lt;T, E = varies, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt;</code></h1></div></div></div>
<p>A type alias to either <a href="../../reference/aliases/std_result.html" class="api-reference"><code>std_result&lt;T, E = std::error_code, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt;</code></a>
(standalone edition) or <a href="../../reference/aliases/boost_result.html" class="api-reference"><code>boost_result&lt;T, E = boost::system::error_code, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt;</code></a>
(Boost edition), and <code>policy::</code><a href="../../reference/aliases/default_policy.html" class="api-reference"><code>default_policy</code></a>
. This means that <code>result&lt;T&gt;</code> uses the appropriate default alias depending on which edition of Outcome is in use.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/result.hpp&gt;</code></p>
</div><p><small>Last revised: January 24, 2019 at 01:15:16 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/aliases/outcome.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/std_checked.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,35 @@
<!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>std_checked&lt;T, E = std::error_code&gt; - 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/aliases/result.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/std_outcome.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>std_checked&lt;T, E = std::error_code&gt;</code></h1></div></div></div>
<p>A type alias to a <a href="../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
configured with
<a href="https://en.cppreference.com/w/cpp/error/error_code" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::error_code</code></a>
and <code>policy::</code><a href="../../reference/policies/throw_bad_result_access.html" class="api-reference"><code>throw_bad_result_access&lt;EC&gt;</code></a>
.</p>
<p>This type alias always references the <code>std</code> edition of things, unlike <a href="../../reference/aliases/checked.html" class="api-reference"><code>checked&lt;T, E = varies&gt;</code></a>
which references either this alias or <a href="../../reference/aliases/boost_checked.html" class="api-reference"><code>boost_checked&lt;T, E = boost::system::error_code&gt;</code></a>
.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/std_result.hpp&gt;</code></p>
</div><p><small>Last revised: January 23, 2019 at 01:27:31 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/aliases/result.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/std_outcome.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>std_outcome&lt;T, EC = std::error_code, EP = std::exception_ptr, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt; - 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/aliases/std_checked.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/std_result.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>std_outcome&lt;T, EC = std::error_code, EP = std::exception_ptr, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt;</code></h1></div></div></div>
<p>A type alias to a <a href="../../reference/types/basic_outcome.html" class="api-reference"><code>basic_outcome&lt;T, EC, EP, NoValuePolicy&gt;</code></a>
configured with
<a href="https://en.cppreference.com/w/cpp/error/error_code" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::error_code</code></a>
,
<a href="https://en.cppreference.com/w/cpp/error/exception_ptr" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::exception_ptr</code></a>
and <code>policy::</code><a href="../../reference/aliases/default_policy.html" class="api-reference"><code>default_policy</code></a>
.</p>
<p>This type alias always references the <code>std</code> edition of things, unlike <a href="../../reference/aliases/outcome.html" class="api-reference"><code>outcome&lt;T, EC = varies, EP = varies, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt;</code></a>
which references either this alias or <a href="../../reference/aliases/boost_outcome.html" class="api-reference"><code>boost_outcome&lt;T, EC = boost::system::error_code, EP = boost::exception_ptr, NoValuePolicy = policy::default_policy&lt;T, EC, EP&gt;&gt;</code></a>
.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/std_outcome.hpp&gt;</code></p>
</div><p><small>Last revised: February 01, 2019 at 23:42:52 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/aliases/std_checked.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/std_result.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,35 @@
<!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>std_result&lt;T, E = std::error_code, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt; - 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/aliases/std_outcome.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/std_unchecked.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>std_result&lt;T, E = std::error_code, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt;</code></h1></div></div></div>
<p>A type alias to a <a href="../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
configured with
<a href="https://en.cppreference.com/w/cpp/error/error_code" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::error_code</code></a>
and <code>policy::</code><a href="../../reference/aliases/default_policy.html" class="api-reference"><code>default_policy</code></a>
.</p>
<p>This type alias always references the <code>std</code> edition of things, unlike <a href="../../reference/aliases/result.html" class="api-reference"><code>result&lt;T, E = varies, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt;</code></a>
which references either this alias or <a href="../../reference/aliases/boost_result.html" class="api-reference"><code>boost_result&lt;T, E = boost::system::error_code, NoValuePolicy = policy::default_policy&lt;T, E, void&gt;&gt;</code></a>
.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/std_result.hpp&gt;</code></p>
</div><p><small>Last revised: January 24, 2019 at 01:15:16 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/aliases/std_outcome.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/std_unchecked.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,35 @@
<!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>std_unchecked&lt;T, E = std::error_code&gt; - 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/aliases/std_result.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/unchecked.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>std_unchecked&lt;T, E = std::error_code&gt;</code></h1></div></div></div>
<p>A type alias to a <a href="../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
configured with
<a href="https://en.cppreference.com/w/cpp/error/error_code" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::error_code</code></a>
and <code>policy::</code><a href="../../reference/policies/all_narrow.html" class="api-reference"><code>all_narrow</code></a>
.</p>
<p>This type alias always references the <code>std</code> edition of things, unlike <a href="../../reference/aliases/unchecked.html" class="api-reference"><code>unchecked&lt;T, E = varies&gt;</code></a>
which references either this alias or <a href="../../reference/aliases/boost_unchecked.html" class="api-reference"><code>boost_unchecked&lt;T, E = boost::system::error_code&gt;</code></a>
.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/std_result.hpp&gt;</code></p>
</div><p><small>Last revised: January 23, 2019 at 01:27:31 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/aliases/std_result.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/aliases/unchecked.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>unchecked&lt;T, E = varies&gt; - 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/aliases/std_unchecked.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/functions.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>unchecked&lt;T, E = varies&gt;</code></h1></div></div></div>
<p>A type alias to either <a href="../../reference/aliases/std_unchecked.html" class="api-reference"><code>std_unchecked&lt;T, E = std::error_code&gt;</code></a>
(standalone edition) or <a href="../../reference/aliases/boost_unchecked.html" class="api-reference"><code>boost_unchecked&lt;T, E = boost::system::error_code&gt;</code></a>
(Boost edition). This means that <code>unchecked&lt;T&gt;</code> uses the appropriate default alias depending on which edition of Outcome is in use.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/result.hpp&gt;</code></p>
</div><p><small>Last revised: January 24, 2019 at 01:15:16 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/aliases/std_unchecked.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/aliases.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/functions.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,38 @@
<!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>Concepts - 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/is_nothrow_swappable.html"><img src="../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../reference.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/basic_outcome.html"><img src="../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both">Concepts</h1></div></div></div>
<ol class="children children-li"><li>
<a href="../reference/concepts/basic_outcome.html" ><code>basic_outcome&lt;T&gt;</code></a>
<p>A boolean concept matching types which are convertible to a <code>basic_outcome&lt;T, EC, EP, NoValuePolicy&gt;</code>.</p><li>
<a href="../reference/concepts/basic_result.html" ><code>basic_result&lt;T&gt;</code></a>
<p>A boolean concept matching types which are convertible to a <code>basic_result&lt;T, E, NoValuePolicy&gt;</code>.</p><li>
<a href="../reference/concepts/value_or_error.html" ><code>value_or_error&lt;T&gt;</code></a>
<p>A boolean concept matching types with either a value or an error.</p><li>
<a href="../reference/concepts/value_or_none.html" ><code>value_or_none&lt;T&gt;</code></a>
<p>A boolean concept matching types with an optional value.</p></li></ol>
</div><p><small>Last revised: December 11, 2018 at 14:56:04 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../reference/macros/is_nothrow_swappable.html"><img src="../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../reference.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/basic_outcome.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>basic_outcome&lt;T&gt; - 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/concepts.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/concepts.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/basic_result.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>basic_outcome&lt;T&gt;</code></h1></div></div></div>
<p>If on C++ 20 or the Concepts TS is enabled, a boolean concept matching types which have <code>value_type</code>, <code>error_type</code> and <code>no_value_policy_type</code> member typedefs; that the type is convertible to <code>basic_result&lt;value_type, error_type, no_value_policy_type&gt;</code>; that <code>basic_result&lt;value_type, error_type, no_value_policy_type&gt;</code> is a base of the type.</p>
<p>If without Concepts, a static constexpr bool which is true for types matching the same requirements, using a SFINAE based emulation.</p>
<p>This concept matches any type which provides the same typedefs as a <a href="../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
, has that <code>basic_result</code> as a base class, and is implicitly convertible to <code>basic_result</code>. Whilst not guaranteed, it is very likely that the type is a <code>basic_result</code>, or inherits publicly from a <code>basic_result</code>. If you want something which matches any value-or-error type, consider <a href="../../reference/concepts/value_or_error.html" class="api-reference"><code>value_or_error&lt;T&gt;</code></a>
. If you want something which exactly matches <code>basic_outcome</code>, use <a href="../../reference/traits/is_basic_outcome.html" class="api-reference"><code>is_basic_outcome&lt;T&gt;</code></a>
.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::concepts</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_result.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/concepts.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/concepts.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/basic_result.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>basic_result&lt;T&gt; - 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/concepts/basic_outcome.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/concepts.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/value_or_error.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>basic_result&lt;T&gt;</code></h1></div></div></div>
<p>If on C++ 20 or the Concepts TS is enabled, a boolean concept matching types which have <code>value_type</code>, <code>error_type</code> and <code>no_value_policy_type</code> member typedefs; that the type is convertible to <code>basic_result&lt;value_type, error_type, no_value_policy_type&gt;</code>; that <code>basic_result&lt;value_type, error_type, no_value_policy_type&gt;</code> is a base of the type.</p>
<p>If without Concepts, a static constexpr bool which is true for types matching the same requirements, using a SFINAE based emulation.</p>
<p>This concept matches any type which provides the same typedefs as a <a href="../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
, has that <code>basic_result</code> as a base class, and is implicitly convertible to <code>basic_result</code>. Whilst not guaranteed, it is very likely that the type is a <code>basic_result</code>, or inherits publicly from a <code>basic_result</code>. If you want something which matches any value-or-error type, consider <a href="../../reference/concepts/value_or_error.html" class="api-reference"><code>value_or_error&lt;T&gt;</code></a>
. If you want something which exactly matches <code>basic_result</code>, use <a href="../../reference/traits/is_basic_result.html" class="api-reference"><code>is_basic_result&lt;T&gt;</code></a>
.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::concepts</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_result.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/concepts/basic_outcome.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/concepts.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/value_or_error.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,41 @@
<!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>value_or_error&lt;T&gt; - 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/concepts/basic_result.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/concepts.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/value_or_none.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>value_or_error&lt;T&gt;</code></h1></div></div></div>
<p>If on C++ 20 or the Concepts TS is enabled, a boolean concept matching types with a public <code>.has_value()</code> observer which returns <code>bool</code>, a public <code>.value()</code> observer function, and a public <code>.error()</code> observer function.</p>
<p>If without Concepts, a static constexpr bool which is true for types matching the same requirements, using a SFINAE based emulation.</p>
<p>This concept matches expected-like types such as
<a href="https://wg21.link/P0323" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> P0323 <code>std::expected&lt;T, E&gt;</code></a>
, one of which is <a href="../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
. Be aware it does not differentiate between value-<em>or</em>-error types and value-<em>and</em>-error types if they present the interface matched above.</p>
<p>If you want a concept matching specifically <a href="../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
, see <a href="../../reference/concepts/basic_result.html" class="api-reference"><code>basic_result&lt;T&gt;</code></a>
.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::concepts</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/convert.hpp&gt;</code></p>
<p><em>Legacy</em>: This was named <code>convert::ValueOrError&lt;T&gt;</code> in Outcome v2.1 and earlier. Define <a href="../../reference/macros/enable_legacy_support_for.html" class="api-reference"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
to less than <code>220</code> to enable.</p>
</div><p><small>Last revised: August 19, 2020 at 12:15:40 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/concepts/basic_result.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/concepts.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/value_or_none.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,39 @@
<!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>value_or_none&lt;T&gt; - 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/concepts/value_or_error.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/concepts.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/converters.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>value_or_none&lt;T&gt;</code></h1></div></div></div>
<p>If on C++ 20 or the Concepts TS is enabled, a boolean concept matching types with a public <code>.has_value()</code> observer which returns <code>bool</code>, and a public <code>.value()</code> observer function.</p>
<p>If without Concepts, a static constexpr bool which is true for types matching the same requirements, using a SFINAE based emulation.</p>
<p>This concept matches optional-like types such as
<a href="https://en.cppreference.com/w/cpp/utility/optional" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::optional&lt;T&gt;</code></a>
. Note it also matches
<a href="https://wg21.link/P0323" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> P0323 <code>std::expected&lt;T, E&gt;</code></a>
, which also has an optional-like interface. You may thus wish to preferentially match <a href="../../reference/types/basic_result/explicit_valueorerror_converting_constructor.html" class="api-reference"><code>concepts::value_or_error&lt;T, E&gt;</code></a>
for any given <code>T</code>.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::concepts</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/convert.hpp&gt;</code></p>
<p><em>Legacy</em>: This was named <code>convert::ValueOrNone&lt;T&gt;</code> in Outcome v2.1 and earlier. Define <a href="../../reference/macros/enable_legacy_support_for.html" class="api-reference"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
to less than <code>220</code> to enable.</p>
</div><p><small>Last revised: December 15, 2020 at 12:22:39 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/concepts/value_or_error.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/concepts.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/converters.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,32 @@
<!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>Converters - 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/concepts/value_or_none.html"><img src="../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../reference.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/converters/value_or_error.html"><img src="../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both">Converters</h1></div></div></div>
<ol class="children children-li"><li>
<a href="../reference/converters/value_or_error.html" ><code>value_or_error&lt;T, U&gt;</code></a>
<p>A customisable converter of <code>value_or_error&lt;T, E&gt;</code> concept matching types.</p></li></ol>
</div><p><small>Last revised: December 15, 2018 at 17:49:37 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../reference/concepts/value_or_none.html"><img src="../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../reference.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/converters/value_or_error.html"><img src="../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,46 @@
<!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>value_or_error&lt;T, U&gt; - 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/converters.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/converters.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/traits.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>value_or_error&lt;T, U&gt;</code></h1></div></div></div>
<p>A customisable converter of <a href="../../reference/types/basic_result/explicit_valueorerror_converting_constructor.html" class="api-reference"><code>concepts::value_or_error&lt;T, E&gt;</code></a>
concept matching types. It must have the following form:</p>
<div class="highlight"><pre class="chroma"><code class="language-c++" data-lang="c++"><span class="c1">// `T` will be the destination basic_result or basic_outcome.
</span><span class="c1">// `U` will be the decayed form of the `value_or_error&lt;T, E&gt;` concept matching input type.
</span><span class="c1"></span><span class="k">template</span> <span class="o">&lt;</span><span class="k">class</span><span class="err"> </span><span class="nc">T</span><span class="o">&gt;</span> <span class="k">struct</span> <span class="n">value_or_error</span><span class="o">&lt;</span><span class="n">T</span><span class="p">,</span> <span class="n">U</span><span class="o">&gt;</span>
<span class="p">{</span>
<span class="c1">// False to indicate that this converter wants `basic_result`/`basic_outcome` to reject all other `basic_result`
</span><span class="c1"></span> <span class="k">static</span> <span class="k">constexpr</span> <span class="kt">bool</span> <span class="n">enable_result_inputs</span> <span class="o">=</span> <span class="nb">false</span><span class="p">;</span>
<span class="c1">// False to indicate that this converter wants `basic_outcome` to reject all other `basic_outcome`
</span><span class="c1"></span> <span class="k">static</span> <span class="k">constexpr</span> <span class="kt">bool</span> <span class="n">enable_outcome_inputs</span> <span class="o">=</span> <span class="nb">false</span><span class="p">;</span>
<span class="c1">// `X` will be the raw input form of `U`. It must return a `T`.
</span><span class="c1"></span> <span class="k">template</span><span class="o">&lt;</span><span class="k">class</span><span class="err"> </span><span class="nc">X</span><span class="o">&gt;</span> <span class="k">constexpr</span> <span class="n">T</span> <span class="k">operator</span><span class="p">()(</span><span class="n">X</span> <span class="o">&amp;&amp;</span><span class="n">v</span><span class="p">);</span>
<span class="p">};</span>
</code></pre></div>
<p><em>Overridable</em>: By template specialisation into the <code>convert</code> namespace.</p>
<p><em>Default</em>: If decayed <code>X</code> is same as <code>U</code>, concept <code>value_or_error&lt;U&gt;</code> matches, <code>X::value_type</code> is <code>void</code> or is explicitly constructible to <code>T::value_type</code>, and <code>X::error_type</code> is <code>void</code> or is explicitly constructible to <code>T::error_type</code>, then <code>operator()(X &amp;&amp;)</code> is made available.</p>
<p><code>operator()(X &amp;&amp;v)</code> tests if <code>v.has_value()</code> is true, if so then a <code>T</code> with successful value is returned, else a <code>T</code> with unsuccessful value. If the input type was <code>void</code>, a default constructed value is used for either, else a move/copy construction from the source is performed.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::convert</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/convert.hpp&gt;</code></p>
</div><p><small>Last revised: December 15, 2020 at 12:22:39 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/converters.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/converters.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/traits.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,106 @@
<!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>Functions - 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/aliases/unchecked.html"><img src="../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../reference.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/functions/hooks.html"><img src="../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both">Functions</h1></div></div></div>
<ol class="children children-li"><li>
<a href="../reference/functions/hooks.html" >Hooks</a>
<p>Functions used to hook into the functionality of <code>basic_result</code> and <code>basic_outcome</code>.</p><ol><li>
<a href="../reference/functions/hooks/spare_storage.html" ><code>uint16_t spare_storage(const basic_result|basic_outcome *) noexcept</code></a>
<p>Returns the sixteen bits of spare storage in the specified result or outcome.</p><li>
<a href="../reference/functions/hooks/hook_outcome_construction.html" ><code>void hook_outcome_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the implicit constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/functions/hooks/hook_outcome_construction2.html" ><code>void hook_outcome_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the implicit constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/functions/hooks/hook_outcome_copy_construction.html" ><code>void hook_outcome_copy_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the converting copy constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/functions/hooks/hook_outcome_copy_construction2.html" ><code>void hook_outcome_copy_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the converting copy constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/functions/hooks/hook_outcome_in_place_construction.html" ><code>void hook_outcome_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;...) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the in-place constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/functions/hooks/hook_outcome_move_construction.html" ><code>void hook_outcome_move_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the converting move constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/functions/hooks/hook_outcome_move_construction2.html" ><code>void hook_outcome_move_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the converting move constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/functions/hooks/hook_result_construction.html" ><code>void hook_result_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the implicit constructors of <code>basic_result</code>.</p><li>
<a href="../reference/functions/hooks/hook_result_copy_construction.html" ><code>void hook_result_copy_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the converting copy constructors of <code>basic_result</code>.</p><li>
<a href="../reference/functions/hooks/hook_result_in_place_construction.html" ><code>void hook_result_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;...) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the in-place constructors of <code>basic_result</code>.</p><li>
<a href="../reference/functions/hooks/hook_result_move_construction.html" ><code>void hook_result_move_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the converting move constructors of <code>basic_result</code>.</p><li>
<a href="../reference/functions/hooks/override_outcome_exception.html" ><code>void override_outcome_exception(basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; *, U &amp;&amp;) noexcept</code></a>
<p>Overrides the exception to something other than what was constructed.</p><li>
<a href="../reference/functions/hooks/set_spare_storage.html" ><code>void set_spare_storage(basic_result|basic_outcome *, uint16_t) noexcept</code></a>
<p>Sets the sixteen bits of spare storage in the specified result or outcome.</p></li></ol><li>
<a href="../reference/functions/iostream.html" >Iostream</a>
<p>Functions used to print, serialise and deserialise <code>basic_result</code> and <code>basic_outcome</code>.</p><ol><li>
<a href="../reference/functions/iostream/outcome_operator_in.html" ><code>std::istream &amp;operator&gt;&gt;(std::istream &amp;, basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; &amp;)</code></a>
<p>Deserialises a <code>basic_outcome</code> from a <code>std::istream</code>.</p><li>
<a href="../reference/functions/iostream/result_operator_in.html" ><code>std::istream &amp;operator&gt;&gt;(std::istream &amp;, basic_result&lt;T, E, NoValuePolicy&gt; &amp;)</code></a>
<p>Deserialises a <code>basic_result</code> from a <code>std::istream</code>.</p><li>
<a href="../reference/functions/iostream/outcome_operator_out.html" ><code>std::ostream &amp;operator&lt;&lt;(std::ostream &amp;, const basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; &amp;)</code></a>
<p>Serialises a <code>basic_outcome</code> to a <code>std::ostream</code>.</p><li>
<a href="../reference/functions/iostream/result_operator_out.html" ><code>std::ostream &amp;operator&lt;&lt;(std::ostream &amp;, const basic_result&lt;T, E, NoValuePolicy&gt; &amp;)</code></a>
<p>Serialises a <code>basic_result</code> to a <code>std::ostream</code>.</p><li>
<a href="../reference/functions/iostream/outcome_print.html" ><code>std::string print(const basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; &amp;)</code></a>
<p>Returns a string containing a human readable rendition of the <code>basic_outcome</code>.</p><li>
<a href="../reference/functions/iostream/result_print.html" ><code>std::string print(const basic_result&lt;T, E, NoValuePolicy&gt; &amp;)</code></a>
<p>Returns a string containing a human readable rendition of the <code>basic_result</code>.</p></li></ol><li>
<a href="../reference/functions/policy.html" >Policy</a>
<p>Functions used to customise how the policy classes operate.</p><ol><li>
<a href="../reference/functions/policy/basic_outcome_failure_exception_from_error.html" ><code>auto basic_outcome_failure_exception_from_error(const EC &amp;)</code></a>
<p>ADL discovered free function synthesising an exception type from an error type, used by the <code>.failure()</code> observers.</p><li>
<a href="../reference/functions/policy/error_code.html" ><code>decltype(auto) error_code(T &amp;&amp;)</code></a>
<p>Extracts a <code>boost::system::error_code</code> or <code>std::error_code</code> from the input via ADL discovery of a suitable <code>make_error_code(T)</code> function.</p><li>
<a href="../reference/functions/policy/exception_ptr.html" ><code>decltype(auto) exception_ptr(T &amp;&amp;)</code></a>
<p>Extracts a <code>boost::exception_ptr</code> or <code>std::exception_ptr</code> from the input via ADL discovery of a suitable <code>make_exception_ptr(T)</code> function.</p><li>
<a href="../reference/functions/policy/outcome_throw_as_system_error_with_payload_boost_enum.html" ><code>void outcome_throw_as_system_error_with_payload(BoostErrorCodeEnum &amp;&amp;)</code></a>
<p>Specialisation of <code>outcome_throw_as_system_error_with_payload()</code> for input types where <code>boost::system::is_error_code_enum&lt;BoostErrorCodeEnum&gt;</code> or <code>boost::system::is_error_condition_enum&lt;BoostErrorCodeEnum&gt;</code> is true.</p><li>
<a href="../reference/functions/policy/outcome_throw_as_system_error_with_payload_std_enum.html" ><code>void outcome_throw_as_system_error_with_payload(ErrorCodeEnum &amp;&amp;)</code></a>
<p>Specialisation of <code>outcome_throw_as_system_error_with_payload()</code> for input types where <code>std::is_error_code_enum&lt;ErrorCodeEnum&gt;</code> or <code>std::is_error_condition_enum&lt;ErrorCodeEnum&gt;</code> is true.</p><li>
<a href="../reference/functions/policy/outcome_throw_as_system_error_with_payload_boost_error_code.html" ><code>void outcome_throw_as_system_error_with_payload(const boost::system::error_code &amp;)</code></a>
<p>Specialisation of <code>outcome_throw_as_system_error_with_payload()</code> for <code>boost::system::error_code</code>.</p><li>
<a href="../reference/functions/policy/outcome_throw_as_system_error_with_payload_std_error_code.html" ><code>void outcome_throw_as_system_error_with_payload(const std::error_code &amp;)</code></a>
<p>Specialisation of <code>outcome_throw_as_system_error_with_payload()</code> for <code>std::error_code</code>.</p></li></ol><li>
<a href="../reference/functions/failure.html" ><code>auto failure(T &amp;&amp;, ...)</code></a>
<p>Returns appropriate type sugar for constructing an unsuccessful result or outcome.</p><li>
<a href="../reference/functions/success.html" ><code>auto success(T &amp;&amp;, ...)</code></a>
<p>Returns appropriate type sugar for constructing a successful result or outcome.</p><li>
<a href="../reference/functions/try_operation_has_value.html" ><code>bool try_operation_has_value(X)</code></a>
<p>Default implementation of <code>try_operation_has_value(X)</code> ADL customisation point for <code>BOOST_OUTCOME_TRY</code>.</p><li>
<a href="../reference/functions/try_operation_extract_value.html" ><code>decltype(auto) try_operation_extract_value(X)</code></a>
<p>Default implementation of <code>try_operation_extract_value(X)</code> ADL customisation point for <code>BOOST_OUTCOME_TRY</code>.</p><li>
<a href="../reference/functions/try_operation_return_as.html" ><code>decltype(auto) try_operation_return_as(X)</code></a>
<p>Default implementation of <code>try_operation_return_as(X)</code> ADL customisation point for <code>BOOST_OUTCOME_TRY</code>.</p><li>
<a href="../reference/functions/error_from_exception.html" ><code>std::error_code error_from_exception(std::exception_ptr &amp;&amp;ep = std::current_exception(), std::error_code not_matched = std::make_error_code(std::errc::resource_unavailable_try_again)) noexcept</code></a>
<p>Returns an error code matching a thrown standard library exception.</p><li>
<a href="../reference/functions/strong_swap.html" ><code>void strong_swap(bool &amp;all_good, T &amp;a, T &amp;b)</code></a>
<p>Tries to perform a strong guarantee swap.</p><li>
<a href="../reference/functions/try_throw_std_exception_from_error.html" ><code>void try_throw_std_exception_from_error(std::error_code ec, const std::string &amp;msg = std::string{})</code></a>
<p>Try to throw a standard library exception type matching an error code.</p></li></ol>
</div><p><small>Last revised: December 13, 2018 at 21:10:19 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../reference/aliases/unchecked.html"><img src="../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../reference.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/functions/hooks.html"><img src="../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,47 @@
<!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>std::error_code error_from_exception(std::exception_ptr &amp;&amp;ep = std::current_exception(), std::error_code not_matched = std::make_error_code(std::errc::resource_unavailable_try_again)) noexcept - 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/functions/try_operation_return_as.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/strong_swap.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>std::error_code error_from_exception(std::exception_ptr &amp;&amp;ep = std::current_exception(), std::error_code not_matched = std::make_error_code(std::errc::resource_unavailable_try_again)) noexcept</code></h1></div></div></div>
<p>This function saves writing boilerplate by rethrowing <code>ep</code> within a <code>try</code>
block, with a long sequence of <code>catch()</code> handlers, one for every standard
C++ exception type which has a near or exact equivalent code in
<a href="https://en.cppreference.com/w/cpp/error/errc" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::errc</code></a>
.</p>
<p>If matched, <code>ep</code> is set to a default constructed
<a href="https://en.cppreference.com/w/cpp/error/exception_ptr" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::exception_ptr</code></a>
,
and a
<a href="https://en.cppreference.com/w/cpp/error/error_code" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::error_code</code></a>
is constructed using the ADL discovered free
function <code>make_error_code()</code> upon the <code>std::errc</code> enumeration value matching the
thrown exception.</p>
<p>If not matched, <code>ep</code> is left intact, and the <code>not_matched</code> error code supplied
is returned instead.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Requires</em>: C++ exceptions to be globally enabled.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/utils.hpp&gt;</code></p>
</div><p><small>Last revised: February 01, 2019 at 23:42:52 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/functions/try_operation_return_as.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/strong_swap.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,38 @@
<!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>auto failure(T &amp;&amp;, &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/functions/policy/outcome_throw_as_system_error_with_payload_std_error_code.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/success.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>auto failure(T &amp;&amp;, ...)</code></h1></div></div></div>
<p>Returns appropriate type sugar for constructing an unsuccessful result or outcome, usually <a href="../../reference/types/failure_type.html" class="api-reference"><code>failure_type&lt;EC, EP = void&gt;</code></a>
with a decayed <code>T</code>.</p>
<p>Two default overloads are provided, one taking a single required parameter with optional spare storage value parameter returning <code>failure_type&lt;std::decay_t&lt;T&gt;&gt;</code>, the other taking two required parameters with optional spare storage value parameter returning <code>failure_type&lt;std::decay_t&lt;T&gt;, std::decay_t&lt;U&gt;&gt;</code>. Both overloads perfectly forward their inputs.</p>
<p>Note that <code>failure()</code> overloads are permitted by Outcome to return something other than <code>failure_type</code>. For example, <code>basic_result</code>&rsquo;s <a href="../../reference/types/basic_result/as_failure_lvalue.html" class="api-reference"><code>auto as_failure() const &amp;</code></a>
returns whatever type <code>failure()</code> returns, and <a href="../../reference/macros/try.html" class="api-reference"><code>BOOST_OUTCOME_TRY(var, expr)</code></a>
by default returns for failure whatever <code>.as_failure()</code> returns. This can be useful to have <code>BOOST_OUTCOME_TRY(...}</code> propagate on failure something custom for some specific input <code>basic_result</code> or <code>basic_outcome</code>.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup (ADL).</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/success_failure.hpp&gt;</code></p>
</div><p><small>Last revised: February 23, 2021 at 17:37:27 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/functions/policy/outcome_throw_as_system_error_with_payload_std_error_code.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/success.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,58 @@
<!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>Hooks - 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/functions.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/hooks/spare_storage.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both">Hooks</h1></div></div></div>
<ol class="children children-li"><li>
<a href="../../reference/functions/hooks/spare_storage.html" ><code>uint16_t spare_storage(const basic_result|basic_outcome *) noexcept</code></a>
<p>Returns the sixteen bits of spare storage in the specified result or outcome.</p><li>
<a href="../../reference/functions/hooks/hook_outcome_construction.html" ><code>void hook_outcome_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the implicit constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/functions/hooks/hook_outcome_construction2.html" ><code>void hook_outcome_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the implicit constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/functions/hooks/hook_outcome_copy_construction.html" ><code>void hook_outcome_copy_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the converting copy constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/functions/hooks/hook_outcome_copy_construction2.html" ><code>void hook_outcome_copy_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the converting copy constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/functions/hooks/hook_outcome_in_place_construction.html" ><code>void hook_outcome_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;...) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the in-place constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/functions/hooks/hook_outcome_move_construction.html" ><code>void hook_outcome_move_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the converting move constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/functions/hooks/hook_outcome_move_construction2.html" ><code>void hook_outcome_move_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the converting move constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/functions/hooks/hook_result_construction.html" ><code>void hook_result_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the implicit constructors of <code>basic_result</code>.</p><li>
<a href="../../reference/functions/hooks/hook_result_copy_construction.html" ><code>void hook_result_copy_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the converting copy constructors of <code>basic_result</code>.</p><li>
<a href="../../reference/functions/hooks/hook_result_in_place_construction.html" ><code>void hook_result_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;...) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the in-place constructors of <code>basic_result</code>.</p><li>
<a href="../../reference/functions/hooks/hook_result_move_construction.html" ><code>void hook_result_move_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(Until v2.2.0) ADL discovered free function hook invoked by the converting move constructors of <code>basic_result</code>.</p><li>
<a href="../../reference/functions/hooks/override_outcome_exception.html" ><code>void override_outcome_exception(basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; *, U &amp;&amp;) noexcept</code></a>
<p>Overrides the exception to something other than what was constructed.</p><li>
<a href="../../reference/functions/hooks/set_spare_storage.html" ><code>void set_spare_storage(basic_result|basic_outcome *, uint16_t) noexcept</code></a>
<p>Sets the sixteen bits of spare storage in the specified result or outcome.</p></li></ol>
</div><p><small>Last revised: January 22, 2019 at 01:11:40 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/functions.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/hooks/spare_storage.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>void hook_outcome_construction(T *, U &amp;&amp;) noexcept - 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/functions/hooks/spare_storage.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_construction2.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void hook_outcome_construction(T *, U &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Removed in Outcome v2.2.0, unless <a href="../../../reference/macros/enable_legacy_support_for.html" class="api-reference"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
is set to less than <code>220</code> to
enable emulation. Use <a href="../../../reference/policies/base/on_outcome_construction.html" class="api-reference"><code>on_outcome_construction(T *, U &amp;&amp;) noexcept</code></a>
instead in new code.</p>
<p>One of the constructor hooks for <a href="../../../reference/types/basic_outcome.html" class="api-reference"><code>basic_outcome&lt;T, EC, EP, NoValuePolicy&gt;</code></a>
, generally invoked by the implicit constructors of <code>basic_outcome</code>. See each constructor&rsquo;s documentation to see which specific hook it invokes.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_outcome.hpp&gt;</code></p>
</div><p><small>Last revised: August 19, 2020 at 12:15:40 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/hooks/spare_storage.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_construction2.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>void hook_outcome_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept - 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/functions/hooks/hook_outcome_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_copy_construction.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void hook_outcome_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Removed in Outcome v2.2.0, unless <a href="../../../reference/macros/enable_legacy_support_for.html" class="api-reference"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
is set to less than <code>220</code> to
enable emulation. Use <a href="../../../reference/policies/base/on_outcome_construction2.html" class="api-reference"><code>on_outcome_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
instead in new code.</p>
<p>One of the constructor hooks for <a href="../../../reference/types/basic_outcome.html" class="api-reference"><code>basic_outcome&lt;T, EC, EP, NoValuePolicy&gt;</code></a>
, generally invoked by the implicit constructors of <code>basic_outcome</code> which consume two arguments. See each constructor&rsquo;s documentation to see which specific hook it invokes.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_outcome.hpp&gt;</code></p>
</div><p><small>Last revised: August 19, 2020 at 12:15:40 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/hooks/hook_outcome_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_copy_construction.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>void hook_outcome_copy_construction(T *, U &amp;&amp;) noexcept - 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/functions/hooks/hook_outcome_construction2.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_copy_construction2.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void hook_outcome_copy_construction(T *, U &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Removed in Outcome v2.2.0, unless <a href="../../../reference/macros/enable_legacy_support_for.html" class="api-reference"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
is set to less than <code>220</code> to
enable emulation. Use <a href="../../../reference/policies/base/on_outcome_copy_construction.html" class="api-reference"><code>on_outcome_copy_construction(T *, U &amp;&amp;) noexcept</code></a>
instead in new code.</p>
<p>One of the constructor hooks for <a href="../../../reference/types/basic_outcome.html" class="api-reference"><code>basic_outcome&lt;T, EC, EP, NoValuePolicy&gt;</code></a>
, generally invoked by the converting copy constructors of <code>basic_outcome</code> (NOT the standard copy constructor). See each constructor&rsquo;s documentation to see which specific hook it invokes.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_outcome.hpp&gt;</code></p>
</div><p><small>Last revised: August 19, 2020 at 12:15:40 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/hooks/hook_outcome_construction2.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_copy_construction2.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>void hook_outcome_copy_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept - 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/functions/hooks/hook_outcome_copy_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_in_place_construction.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void hook_outcome_copy_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Removed in Outcome v2.2.0, unless <a href="../../../reference/macros/enable_legacy_support_for.html" class="api-reference"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
is set to less than <code>220</code> to
enable emulation. Use <a href="../../../reference/policies/base/on_outcome_copy_construction2.html" class="api-reference"><code>on_outcome_copy_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
instead in new code.</p>
<p>One of the constructor hooks for <a href="../../../reference/types/basic_outcome.html" class="api-reference"><code>basic_outcome&lt;T, EC, EP, NoValuePolicy&gt;</code></a>
, generally invoked by the converting copy constructors of <code>basic_outcome</code> (NOT the standard copy constructor) which consume two arguments. See each constructor&rsquo;s documentation to see which specific hook it invokes.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_outcome.hpp&gt;</code></p>
</div><p><small>Last revised: August 19, 2020 at 12:15:40 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/hooks/hook_outcome_copy_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_in_place_construction.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>void hook_outcome_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;&hellip;) noexcept - 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/functions/hooks/hook_outcome_copy_construction2.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_move_construction.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void hook_outcome_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;...) noexcept</code></h1></div></div></div>
<p>Removed in Outcome v2.2.0, unless <a href="../../../reference/macros/enable_legacy_support_for.html" class="api-reference"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
is set to less than <code>220</code> to
enable emulation. Use <a href="../../../reference/policies/base/on_outcome_in_place_construction.html" class="api-reference"><code>on_outcome_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;...) noexcept</code></a>
instead in new code.</p>
<p>One of the constructor hooks for <a href="../../../reference/types/basic_outcome.html" class="api-reference"><code>basic_outcome&lt;T, EC, EP, NoValuePolicy&gt;</code></a>
, generally invoked by the in-place constructors of <code>basic_outcome</code>. See each constructor&rsquo;s documentation to see which specific hook it invokes.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_outcome.hpp&gt;</code></p>
</div><p><small>Last revised: August 19, 2020 at 12:15:40 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/hooks/hook_outcome_copy_construction2.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_move_construction.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>void hook_outcome_move_construction(T *, U &amp;&amp;) noexcept - 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/functions/hooks/hook_outcome_in_place_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_move_construction2.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void hook_outcome_move_construction(T *, U &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Removed in Outcome v2.2.0, unless <a href="../../../reference/macros/enable_legacy_support_for.html" class="api-reference"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
is set to less than <code>220</code> to
enable emulation. Use <a href="../../../reference/policies/base/on_outcome_move_construction.html" class="api-reference"><code>on_outcome_move_construction(T *, U &amp;&amp;) noexcept</code></a>
instead in new code.</p>
<p>One of the constructor hooks for <a href="../../../reference/types/basic_outcome.html" class="api-reference"><code>basic_outcome&lt;T, EC, EP, NoValuePolicy&gt;</code></a>
, generally invoked by the converting move constructors of <code>basic_outcome</code> (NOT the standard move constructor). See each constructor&rsquo;s documentation to see which specific hook it invokes.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_outcome.hpp&gt;</code></p>
</div><p><small>Last revised: August 19, 2020 at 12:15:40 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/hooks/hook_outcome_in_place_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_move_construction2.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>void hook_outcome_move_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept - 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/functions/hooks/hook_outcome_move_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_result_construction.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void hook_outcome_move_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Removed in Outcome v2.2.0, unless <a href="../../../reference/macros/enable_legacy_support_for.html" class="api-reference"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
is set to less than <code>220</code> to
enable emulation. Use <a href="../../../reference/policies/base/on_outcome_move_construction2.html" class="api-reference"><code>on_outcome_move_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
instead in new code.</p>
<p>One of the constructor hooks for <a href="../../../reference/types/basic_outcome.html" class="api-reference"><code>basic_outcome&lt;T, EC, EP, NoValuePolicy&gt;</code></a>
, generally invoked by the converting move constructors of <code>basic_outcome</code> (NOT the standard move constructor) which consume two arguments. See each constructor&rsquo;s documentation to see which specific hook it invokes.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_outcome.hpp&gt;</code></p>
</div><p><small>Last revised: August 19, 2020 at 12:15:40 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/hooks/hook_outcome_move_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_result_construction.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>void hook_result_construction(T *, U &amp;&amp;) noexcept - 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/functions/hooks/hook_outcome_move_construction2.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_result_copy_construction.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void hook_result_construction(T *, U &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Removed in Outcome v2.2.0, unless <a href="../../../reference/macros/enable_legacy_support_for.html" class="api-reference"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
is set to less than <code>220</code> to
enable emulation. Use <a href="../../../reference/policies/base/on_result_construction.html" class="api-reference"><code>on_result_construction(T *, U &amp;&amp;) noexcept</code></a>
instead in new code.</p>
<p>One of the constructor hooks for <a href="../../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
, generally invoked by the implicit constructors of <code>basic_result</code>. See each constructor&rsquo;s documentation to see which specific hook it invokes.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_result.hpp&gt;</code></p>
</div><p><small>Last revised: August 19, 2020 at 12:15:40 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/hooks/hook_outcome_move_construction2.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_result_copy_construction.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>void hook_result_copy_construction(T *, U &amp;&amp;) noexcept - 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/functions/hooks/hook_result_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_result_in_place_construction.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void hook_result_copy_construction(T *, U &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Removed in Outcome v2.2.0, unless <a href="../../../reference/macros/enable_legacy_support_for.html" class="api-reference"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
is set to less than <code>220</code> to
enable emulation. Use <a href="../../../reference/policies/base/on_result_copy_construction.html" class="api-reference"><code>on_result_copy_construction(T *, U &amp;&amp;) noexcept</code></a>
instead in new code.</p>
<p>One of the constructor hooks for <a href="../../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
, generally invoked by the converting copy constructors of <code>basic_result</code> (NOT the standard copy constructor). See each constructor&rsquo;s documentation to see which specific hook it invokes.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_result.hpp&gt;</code></p>
</div><p><small>Last revised: August 19, 2020 at 12:15:40 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/hooks/hook_result_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_result_in_place_construction.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>void hook_result_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;&hellip;) noexcept - 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/functions/hooks/hook_result_copy_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_result_move_construction.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void hook_result_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;...) noexcept</code></h1></div></div></div>
<p>Removed in Outcome v2.2.0, unless <a href="../../../reference/macros/enable_legacy_support_for.html" class="api-reference"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
is set to less than <code>220</code> to
enable emulation. Use <a href="../../../reference/policies/base/on_result_in_place_construction.html" class="api-reference"><code>on_result_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;...) noexcept</code></a>
instead in new code.</p>
<p>One of the constructor hooks for <a href="../../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
, generally invoked by the in-place constructors of <code>basic_result</code>. See each constructor&rsquo;s documentation to see which specific hook it invokes.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_result.hpp&gt;</code></p>
</div><p><small>Last revised: August 19, 2020 at 12:15:40 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/hooks/hook_result_copy_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_result_move_construction.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>void hook_result_move_construction(T *, U &amp;&amp;) noexcept - 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/functions/hooks/hook_result_in_place_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/override_outcome_exception.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void hook_result_move_construction(T *, U &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Removed in Outcome v2.2.0, unless <a href="../../../reference/macros/enable_legacy_support_for.html" class="api-reference"><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
is set to less than <code>220</code> to
enable emulation. Use <a href="../../../reference/policies/base/on_result_move_construction.html" class="api-reference"><code>on_result_move_construction(T *, U &amp;&amp;) noexcept</code></a>
instead in new code.</p>
<p>One of the constructor hooks for <a href="../../../reference/types/basic_result.html" class="api-reference"><code>basic_result&lt;T, E, NoValuePolicy&gt;</code></a>
, generally invoked by the converting move constructors of <code>basic_result</code> (NOT the standard move constructor). See each constructor&rsquo;s documentation to see which specific hook it invokes.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_result.hpp&gt;</code></p>
</div><p><small>Last revised: August 19, 2020 at 12:15:40 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/hooks/hook_result_in_place_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/override_outcome_exception.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,40 @@
<!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>void override_outcome_exception(basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; *, U &amp;&amp;) noexcept - 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/functions/hooks/hook_result_move_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/set_spare_storage.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void override_outcome_exception(basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; *, U &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Overrides the exception to something other than what was constructed. You <em>almost certainly</em> never
want to use this function. A much better way of overriding the exception returned is to create
a custom no-value policy which lazily synthesises a custom exception object at the point of need.</p>
<p>The only reason that this function exists is because some people have very corner case needs
where a custom no-value policy can&rsquo;t be used, and where move-constructing a new <code>outcome</code> from
an old <code>outcome</code> with the exception state replaced isn&rsquo;t possible (e.g. when the types are
non-copyable and non-moveable).</p>
<p>Unless you are in a situation where no other viable alternative exists, do not use this function.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_outcome.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/functions/hooks/hook_result_move_construction.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/set_spare_storage.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,32 @@
<!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>void set_spare_storage(basic_result|basic_outcome *, uint16_t) noexcept - 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/functions/hooks/override_outcome_exception.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/iostream.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void set_spare_storage(basic_result|basic_outcome *, uint16_t) noexcept</code></h1></div></div></div>
<p>Sets the sixteen bits of spare storage in the specified result or outcome. You can retrieve these bits later using <a href="../../../reference/functions/hooks/spare_storage.html" class="api-reference"><code>uint16_t spare_storage(const basic_result|basic_outcome *) noexcept</code></a>
.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_result.hpp&gt;</code></p>
</div><p><small>Last revised: January 21, 2019 at 18:00:41 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/hooks/override_outcome_exception.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/iostream.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,32 @@
<!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>uint16_t spare_storage(const basic_result|basic_outcome *) noexcept - 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/functions/hooks.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_construction.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>uint16_t spare_storage(const basic_result|basic_outcome *) noexcept</code></h1></div></div></div>
<p>Returns the sixteen bits of spare storage in the specified result or outcome. You can set these bits using <a href="../../../reference/functions/hooks/set_spare_storage.html" class="api-reference"><code>void set_spare_storage(basic_result|basic_outcome *, uint16_t) noexcept</code></a>
.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::hooks</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_result.hpp&gt;</code></p>
</div><p><small>Last revised: January 21, 2019 at 18:00:41 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/hooks.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/hooks.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/functions/hooks/hook_outcome_construction.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,42 @@
<!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>Iostream - 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/functions/hooks/set_spare_storage.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/iostream/outcome_operator_in.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both">Iostream</h1></div></div></div>
<ol class="children children-li"><li>
<a href="../../reference/functions/iostream/outcome_operator_in.html" ><code>std::istream &amp;operator&gt;&gt;(std::istream &amp;, basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; &amp;)</code></a>
<p>Deserialises a <code>basic_outcome</code> from a <code>std::istream</code>.</p><li>
<a href="../../reference/functions/iostream/result_operator_in.html" ><code>std::istream &amp;operator&gt;&gt;(std::istream &amp;, basic_result&lt;T, E, NoValuePolicy&gt; &amp;)</code></a>
<p>Deserialises a <code>basic_result</code> from a <code>std::istream</code>.</p><li>
<a href="../../reference/functions/iostream/outcome_operator_out.html" ><code>std::ostream &amp;operator&lt;&lt;(std::ostream &amp;, const basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; &amp;)</code></a>
<p>Serialises a <code>basic_outcome</code> to a <code>std::ostream</code>.</p><li>
<a href="../../reference/functions/iostream/result_operator_out.html" ><code>std::ostream &amp;operator&lt;&lt;(std::ostream &amp;, const basic_result&lt;T, E, NoValuePolicy&gt; &amp;)</code></a>
<p>Serialises a <code>basic_result</code> to a <code>std::ostream</code>.</p><li>
<a href="../../reference/functions/iostream/outcome_print.html" ><code>std::string print(const basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; &amp;)</code></a>
<p>Returns a string containing a human readable rendition of the <code>basic_outcome</code>.</p><li>
<a href="../../reference/functions/iostream/result_print.html" ><code>std::string print(const basic_result&lt;T, E, NoValuePolicy&gt; &amp;)</code></a>
<p>Returns a string containing a human readable rendition of the <code>basic_result</code>.</p></li></ol>
</div><p><small>Last revised: March 03, 2019 at 21:04:29 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/functions/hooks/set_spare_storage.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/iostream/outcome_operator_in.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>std::istream &amp;operator&gt;&gt;(std::istream &amp;, basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; &amp;) - 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/functions/iostream.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/iostream.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/functions/iostream/result_operator_in.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>std::istream &amp;operator&gt;&gt;(std::istream &amp;, basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; &amp;)</code></h1></div></div></div>
<p>Deserialises a <code>basic_outcome</code> from a <code>std::istream</code>.</p>
<p>Serialisation format is:</p>
<pre><code>&lt;unsigned int flags&gt;&lt;space&gt;&lt;value_type if set and not void&gt;&lt;error_type if set and not void&gt;&lt;exception_type if set and not void&gt;
</code></pre>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Requires</em>: That <code>operator&gt;&gt;</code> is a valid expression for <code>std::istream</code> and <code>T</code>, <code>EC</code> and <code>EP</code>.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/iostream_support.hpp&gt;</code> (must be explicitly included manually).</p>
</div><p><small>Last revised: March 03, 2019 at 21:04:29 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/iostream.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/iostream.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/functions/iostream/result_operator_in.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,40 @@
<!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>std::ostream &amp;operator&lt;&lt;(std::ostream &amp;, const basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; &amp;) - 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/functions/iostream/result_operator_in.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/iostream.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/functions/iostream/result_operator_out.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>std::ostream &amp;operator&lt;&lt;(std::ostream &amp;, const basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; &amp;)</code></h1></div></div></div>
<p>Serialises a <code>basic_outcome</code> to a <code>std::ostream</code>.</p>
<p>Serialisation format is:</p>
<pre><code>&lt;unsigned int flags&gt;&lt;space&gt;&lt;value_type if set and not void&gt;&lt;error_type if set and not void&gt;&lt;exception_type if set and not void&gt;
</code></pre>
<p>This is the <strong>wrong</strong> function to use if you wish to print human readable output.
Use <a href="../../../reference/functions/iostream/outcome_print.html" class="api-reference"><code>std::string print(const basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; &amp;)</code></a>
instead.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Requires</em>: That <code>operator&lt;&lt;</code> is a valid expression for <code>std::ostream</code> and <code>T</code>, <code>EC</code> and <code>EP</code>.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/iostream_support.hpp&gt;</code> (must be explicitly included manually).</p>
</div><p><small>Last revised: March 03, 2019 at 21:04:29 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/iostream/result_operator_in.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/iostream.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/functions/iostream/result_operator_out.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>std::string print(const basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; &amp;) - 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/functions/iostream/result_operator_out.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/iostream.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/functions/iostream/result_print.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>std::string print(const basic_outcome&lt;T, EC, EP, NoValuePolicy&gt; &amp;)</code></h1></div></div></div>
<p>Returns a string containing a human readable rendition of the <code>basic_outcome</code>.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/iostream_support.hpp&gt;</code> (must be explicitly included manually).</p>
</div><p><small>Last revised: March 03, 2019 at 21:04:29 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/iostream/result_operator_out.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/iostream.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/functions/iostream/result_print.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>std::istream &amp;operator&gt;&gt;(std::istream &amp;, basic_result&lt;T, E, NoValuePolicy&gt; &amp;) - 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/functions/iostream/outcome_operator_in.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/iostream.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/functions/iostream/outcome_operator_out.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>std::istream &amp;operator&gt;&gt;(std::istream &amp;, basic_result&lt;T, E, NoValuePolicy&gt; &amp;)</code></h1></div></div></div>
<p>Deserialises a <code>basic_result</code> from a <code>std::istream</code>.</p>
<p>Serialisation format is:</p>
<pre><code>&lt;unsigned int flags&gt;&lt;space&gt;&lt;value_type if set and not void&gt;&lt;error_type if set and not void&gt;
</code></pre>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Requires</em>: That <code>operator&gt;&gt;</code> is a valid expression for <code>std::istream</code> and <code>T</code> and <code>E</code>.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/iostream_support.hpp&gt;</code> (must be explicitly included manually).</p>
</div><p><small>Last revised: March 03, 2019 at 21:04:29 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/iostream/outcome_operator_in.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/iostream.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/functions/iostream/outcome_operator_out.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,40 @@
<!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>std::ostream &amp;operator&lt;&lt;(std::ostream &amp;, const basic_result&lt;T, E, NoValuePolicy&gt; &amp;) - 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/functions/iostream/outcome_operator_out.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/iostream.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/functions/iostream/outcome_print.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>std::ostream &amp;operator&lt;&lt;(std::ostream &amp;, const basic_result&lt;T, E, NoValuePolicy&gt; &amp;)</code></h1></div></div></div>
<p>Serialises a <code>basic_result</code> to a <code>std::ostream</code>.</p>
<p>Serialisation format is:</p>
<pre><code>&lt;unsigned int flags&gt;&lt;space&gt;&lt;value_type if set and not void&gt;&lt;error_type if set and not void&gt;
</code></pre>
<p>This is the <strong>wrong</strong> function to use if you wish to print human readable output.
Use <a href="../../../reference/functions/iostream/result_print.html" class="api-reference"><code>std::string print(const basic_result&lt;T, E, NoValuePolicy&gt; &amp;)</code></a>
instead.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Requires</em>: That <code>operator&lt;&lt;</code> is a valid expression for <code>std::ostream</code> and <code>T</code> and <code>E</code>.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/iostream_support.hpp&gt;</code> (must be explicitly included manually).</p>
</div><p><small>Last revised: March 03, 2019 at 21:04:29 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/iostream/outcome_operator_out.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/iostream.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/functions/iostream/outcome_print.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>std::string print(const basic_result&lt;T, E, NoValuePolicy&gt; &amp;) - 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/functions/iostream/outcome_print.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/iostream.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/functions/policy.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>std::string print(const basic_result&lt;T, E, NoValuePolicy&gt; &amp;)</code></h1></div></div></div>
<p>Returns a string containing a human readable rendition of the <code>basic_result</code>.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/iostream_support.hpp&gt;</code> (must be explicitly included manually).</p>
</div><p><small>Last revised: March 03, 2019 at 21:04:29 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/iostream/outcome_print.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/iostream.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/functions/policy.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>Policy - 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/functions/iostream/result_print.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/policy/basic_outcome_failure_exception_from_error.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both">Policy</h1></div></div></div>
<ol class="children children-li"><li>
<a href="../../reference/functions/policy/basic_outcome_failure_exception_from_error.html" ><code>auto basic_outcome_failure_exception_from_error(const EC &amp;)</code></a>
<p>ADL discovered free function synthesising an exception type from an error type, used by the <code>.failure()</code> observers.</p><li>
<a href="../../reference/functions/policy/error_code.html" ><code>decltype(auto) error_code(T &amp;&amp;)</code></a>
<p>Extracts a <code>boost::system::error_code</code> or <code>std::error_code</code> from the input via ADL discovery of a suitable <code>make_error_code(T)</code> function.</p><li>
<a href="../../reference/functions/policy/exception_ptr.html" ><code>decltype(auto) exception_ptr(T &amp;&amp;)</code></a>
<p>Extracts a <code>boost::exception_ptr</code> or <code>std::exception_ptr</code> from the input via ADL discovery of a suitable <code>make_exception_ptr(T)</code> function.</p><li>
<a href="../../reference/functions/policy/outcome_throw_as_system_error_with_payload_boost_enum.html" ><code>void outcome_throw_as_system_error_with_payload(BoostErrorCodeEnum &amp;&amp;)</code></a>
<p>Specialisation of <code>outcome_throw_as_system_error_with_payload()</code> for input types where <code>boost::system::is_error_code_enum&lt;BoostErrorCodeEnum&gt;</code> or <code>boost::system::is_error_condition_enum&lt;BoostErrorCodeEnum&gt;</code> is true.</p><li>
<a href="../../reference/functions/policy/outcome_throw_as_system_error_with_payload_std_enum.html" ><code>void outcome_throw_as_system_error_with_payload(ErrorCodeEnum &amp;&amp;)</code></a>
<p>Specialisation of <code>outcome_throw_as_system_error_with_payload()</code> for input types where <code>std::is_error_code_enum&lt;ErrorCodeEnum&gt;</code> or <code>std::is_error_condition_enum&lt;ErrorCodeEnum&gt;</code> is true.</p><li>
<a href="../../reference/functions/policy/outcome_throw_as_system_error_with_payload_boost_error_code.html" ><code>void outcome_throw_as_system_error_with_payload(const boost::system::error_code &amp;)</code></a>
<p>Specialisation of <code>outcome_throw_as_system_error_with_payload()</code> for <code>boost::system::error_code</code>.</p><li>
<a href="../../reference/functions/policy/outcome_throw_as_system_error_with_payload_std_error_code.html" ><code>void outcome_throw_as_system_error_with_payload(const std::error_code &amp;)</code></a>
<p>Specialisation of <code>outcome_throw_as_system_error_with_payload()</code> for <code>std::error_code</code>.</p></li></ol>
</div><p><small>Last revised: January 22, 2019 at 01:11:40 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/functions/iostream/result_print.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/policy/basic_outcome_failure_exception_from_error.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,38 @@
<!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>auto basic_outcome_failure_exception_from_error(const EC &amp;) - 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/functions/policy.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/policy/error_code.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>auto basic_outcome_failure_exception_from_error(const EC &amp;)</code></h1></div></div></div>
<p>Synthesises an exception type from an error type, used by the <a href="../../../reference/types/basic_outcome/failure.html" class="api-reference"><code>exception_type failure() const noexcept</code></a>
observers. ADL discovered. Default
overloads for this function are defined in Outcome for
<a href="https://en.cppreference.com/w/cpp/error/error_code" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::error_code</code></a>
and <code>boost::system::error_code</code>, these return <code>std::make_exception_ptr(std::system_error(ec))</code>
and <code>boost::copy_exception(boost::system::system_error(ec))</code> respectively.</p>
<p><em>Overridable</em>: Argument dependent lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: Namespace of <code>EC</code> type.</p>
<p><em>Header</em>: <code>&lt;boost/outcome/std_outcome.hpp&gt;</code>, <code>&lt;boost/outcome/boost_outcome.hpp&gt;</code></p>
</div><p><small>Last revised: February 06, 2019 at 16:50:01 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/policy.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/policy/error_code.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,33 @@
<!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>decltype(auto) error_code(T &amp;&amp;) - 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/functions/policy/basic_outcome_failure_exception_from_error.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/policy/exception_ptr.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>decltype(auto) error_code(T &amp;&amp;)</code></h1></div></div></div>
<p>Extracts a <code>boost::system::error_code</code> or
<a href="https://en.cppreference.com/w/cpp/error/error_code" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::error_code</code></a>
from the input via ADL discovery of a suitable <code>make_error_code(T)</code> function.</p>
<p><em>Overridable</em>: Argument dependent lookup.</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::policy</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/std_result.hpp&gt;</code></p>
</div><p><small>Last revised: February 11, 2019 at 15:13:33 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/policy/basic_outcome_failure_exception_from_error.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/policy/exception_ptr.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,33 @@
<!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>decltype(auto) exception_ptr(T &amp;&amp;) - 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/functions/policy/error_code.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/policy/outcome_throw_as_system_error_with_payload_boost_enum.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>decltype(auto) exception_ptr(T &amp;&amp;)</code></h1></div></div></div>
<p>Extracts a <code>boost::exception_ptr</code> or
<a href="https://en.cppreference.com/w/cpp/error/exception_ptr" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::exception_ptr</code></a>
from the input via ADL discovery of a suitable <code>make_exception_ptr(T)</code> function.</p>
<p><em>Overridable</em>: Argument dependent lookup.</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::policy</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/std_result.hpp&gt;</code></p>
</div><p><small>Last revised: January 23, 2019 at 01:27:31 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/policy/error_code.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/policy/outcome_throw_as_system_error_with_payload_boost_enum.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,32 @@
<!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>void outcome_throw_as_system_error_with_payload(BoostErrorCodeEnum &amp;&amp;) - 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/functions/policy/exception_ptr.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/policy/outcome_throw_as_system_error_with_payload_std_enum.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void outcome_throw_as_system_error_with_payload(BoostErrorCodeEnum &amp;&amp;)</code></h1></div></div></div>
<p>A specialisation of <code>outcome_throw_as_system_error_with_payload()</code> for types where <code>boost::system::is_error_code_enum&lt;BoostErrorCodeEnum&gt;</code> or <code>boost::system::is_error_condition_enum&lt;BoostErrorCodeEnum&gt;</code> is true. This executes <a href="../../../reference/macros/throw_exception.html" class="api-reference"><code>BOOST_OUTCOME_THROW_EXCEPTION(expr)</code></a>
with a <code>boost::system::system_error</code> constructed from the result of the ADL discovered free function <code>make_error_code(BoostErrorCodeEnum)</code>.</p>
<p><em>Overridable</em>: Argument dependent lookup.</p>
<p><em>Requires</em>: Either <code>boost::system::is_error_code_enum&lt;T&gt;</code> or <code>boost::system::is_error_condition_enum&lt;T&gt;</code> to be true for a decayed <code>BoostErrorCodeEnum</code>.</p>
<p><em>Namespace</em>: <code>boost::system</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/boost_result.hpp&gt;</code></p>
</div><p><small>Last revised: August 13, 2019 at 13:55:04 -0400</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/policy/exception_ptr.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/policy/outcome_throw_as_system_error_with_payload_std_enum.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,32 @@
<!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>void outcome_throw_as_system_error_with_payload(const boost::system::error_code &amp;) - 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/functions/policy/outcome_throw_as_system_error_with_payload_std_enum.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/policy/outcome_throw_as_system_error_with_payload_std_error_code.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void outcome_throw_as_system_error_with_payload(const boost::system::error_code &amp;)</code></h1></div></div></div>
<p>A specialisation of <code>outcome_throw_as_system_error_with_payload()</code> for <code>boost::system::error_code</code>. This executes <a href="../../../reference/macros/throw_exception.html" class="api-reference"><code>BOOST_OUTCOME_THROW_EXCEPTION(expr)</code></a>
with a <code>boost::system::system_error</code> constructed from the input.</p>
<p><em>Overridable</em>: Argument dependent lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>boost::system</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/boost_result.hpp&gt;</code></p>
</div><p><small>Last revised: January 24, 2019 at 01:15:16 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/policy/outcome_throw_as_system_error_with_payload_std_enum.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/policy/outcome_throw_as_system_error_with_payload_std_error_code.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,38 @@
<!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>void outcome_throw_as_system_error_with_payload(ErrorCodeEnum &amp;&amp;) - 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/functions/policy/outcome_throw_as_system_error_with_payload_boost_enum.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/policy/outcome_throw_as_system_error_with_payload_boost_error_code.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void outcome_throw_as_system_error_with_payload(ErrorCodeEnum &amp;&amp;)</code></h1></div></div></div>
<p>A specialisation of <code>outcome_throw_as_system_error_with_payload()</code> for types where <code>std::is_error_code_enum&lt;ErrorCodeEnum&gt;</code> or <code>std::is_error_condition_enum&lt;ErrorCodeEnum&gt;</code> is true. This executes <a href="../../../reference/macros/throw_exception.html" class="api-reference"><code>BOOST_OUTCOME_THROW_EXCEPTION(expr)</code></a>
with a
<a href="https://en.cppreference.com/w/cpp/error/system_error" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::system_error</code></a>
constructed from the result of the ADL discovered free function <code>make_error_code(ErrorCodeEnum)</code>.</p>
<p><em>Overridable</em>: Argument dependent lookup.</p>
<p><em>Requires</em>: Either
<a href="https://en.cppreference.com/w/cpp/error/error_code/is_error_code_enum" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::is_error_code_enum&lt;T&gt;</code></a>
or
<a href="https://en.cppreference.com/w/cpp/error/error_condition/is_error_condition_enum" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::is_error_condition_enum&lt;T&gt;</code></a>
to be true for a decayed <code>ErrorCodeEnum</code>.</p>
<p><em>Namespace</em>: <code>std</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/std_result.hpp&gt;</code></p>
</div><p><small>Last revised: February 01, 2019 at 15:52:57 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/policy/outcome_throw_as_system_error_with_payload_boost_enum.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/policy/outcome_throw_as_system_error_with_payload_boost_error_code.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>void outcome_throw_as_system_error_with_payload(const std::error_code &amp;) - 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/functions/policy/outcome_throw_as_system_error_with_payload_boost_error_code.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/failure.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void outcome_throw_as_system_error_with_payload(const std::error_code &amp;)</code></h1></div></div></div>
<p>A specialisation of <code>outcome_throw_as_system_error_with_payload()</code> for <code>std::error_code</code>. This executes <a href="../../../reference/macros/throw_exception.html" class="api-reference"><code>BOOST_OUTCOME_THROW_EXCEPTION(expr)</code></a>
with a
<a href="https://en.cppreference.com/w/cpp/error/system_error" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::system_error</code></a>
constructed from the input.</p>
<p><em>Overridable</em>: Argument dependent lookup.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>std</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/std_result.hpp&gt;</code></p>
</div><p><small>Last revised: February 01, 2019 at 15:52:57 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/functions/policy/outcome_throw_as_system_error_with_payload_boost_error_code.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/functions/policy.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/functions/failure.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>void strong_swap(bool &amp;all_good, T &amp;a, T &amp;b) - 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/functions/error_from_exception.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/try_throw_std_exception_from_error.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void strong_swap(bool &amp;all_good, T &amp;a, T &amp;b)</code></h1></div></div></div>
<p>The standard <code>swap()</code> function provides the weak guarantee i.e. that no resources are lost. This ADL discovered function provides the strong guarantee instead: that if any of these operations throw an exception (i) move construct to temporary (ii) move assign <code>b</code> to <code>a</code> (iii) move assign temporary to <code>b</code>, an attempt is made to restore the exact pre-swapped state upon entry, and if that recovery too fails, then the boolean <code>all_good</code> will be false during stack unwind from the exception throw, to indicate that state has been lost.</p>
<p>This function is used within <code>basic_result::</code><a href="../../reference/types/basic_result/swap.html" class="api-reference"><code>swap(basic_result &amp;)</code></a>
if, and only if, either or both of <code>value_type</code> or <code>error_type</code> have a throwing move constructor or move assignment. It permits you to customise the implementation of the strong guarantee swap in Outcome with a more efficient implementation.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup (ADL).</p>
<p><em>Requires</em>: That <code>T</code> is both move constructible and move assignable.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/basic_result.hpp&gt;</code></p>
</div><p><small>Last revised: June 24, 2019 at 21:09:37 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/functions/error_from_exception.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/try_throw_std_exception_from_error.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>auto success(T &amp;&amp;, &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/functions/failure.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/try_operation_has_value.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>auto success(T &amp;&amp;, ...)</code></h1></div></div></div>
<p>Returns appropriate type sugar for constructing a successful result or outcome, usually <a href="../../reference/types/success_type.html" class="api-reference"><code>success_type&lt;T&gt;</code></a>
with a decayed <code>T</code>.</p>
<p>Two default overloads are provided, one taking a single required parameter with optional spare storage value parameter returning <code>success_type&lt;std::decay_t&lt;T&gt;&gt;</code> and perfectly forwarding the input. The other overload takes no parameters, and returns <code>success_type&lt;void&gt;</code>, which usually causes the construction of the receiving <code>basic_result</code> or <code>basic_outcome</code>&rsquo;s with a default construction of their value type.</p>
<p><em>Overridable</em>: By Argument Dependent Lookup (ADL).</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/success_failure.hpp&gt;</code></p>
</div><p><small>Last revised: February 23, 2021 at 17:37:27 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/functions/failure.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/try_operation_has_value.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>decltype(auto) try_operation_extract_value(X) - 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/functions/try_operation_has_value.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/try_operation_return_as.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>decltype(auto) try_operation_extract_value(X)</code></h1></div></div></div>
<p>This default implementation returns whatever the <code>.assume_value()</code> or <code>.value()</code> member functions return, preferentially choosing the former where both are available.</p>
<p><em>Requires</em>: That the expression <code>std::declval&lt;T&gt;().assume_value()</code> and/or <code>std::declval&lt;T&gt;().value()</code> is a valid expression.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: June 20, 2019 at 11:14:48 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/functions/try_operation_has_value.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/try_operation_return_as.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>bool try_operation_has_value(X) - 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/functions/success.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/try_operation_extract_value.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>bool try_operation_has_value(X)</code></h1></div></div></div>
<p>This default implementation returns whatever the <code>.has_value()</code> member function returns.</p>
<p><em>Requires</em>: That the expression <code>std::declval&lt;T&gt;().has_value()</code> is a valid expression.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: June 20, 2019 at 11:14:48 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/functions/success.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/try_operation_extract_value.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>decltype(auto) try_operation_return_as(X) - 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/functions/try_operation_extract_value.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/error_from_exception.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>decltype(auto) try_operation_return_as(X)</code></h1></div></div></div>
<p>This default implementation preferentially returns whatever the input type&rsquo;s <code>.as_failure()</code> member function returns.
<code>basic_result</code> and <code>basic_outcome</code> provide such a member function, see <a href="../../reference/types/basic_result/as_failure_lvalue.html" class="api-reference"><code>auto as_failure() const &amp;</code></a>
.</p>
<p>If <code>.as_failure()</code> is not available, it will also match any <code>.error()</code> member function, which it wraps into a failure type sugar using <a href="../../reference/functions/failure.html" class="api-reference"><code>failure(T &amp;&amp;, ...)</code></a>
.</p>
<p><em>Requires</em>: That the expression <code>std::declval&lt;T&gt;().as_failure()</code> and/or <code>std::declval&lt;T&gt;().error()</code> is a valid expression.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/try.hpp&gt;</code></p>
</div><p><small>Last revised: June 20, 2019 at 11:14:48 &#43;0100</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/functions/try_operation_extract_value.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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/functions/error_from_exception.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,63 @@
<!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>void try_throw_std_exception_from_error(std::error_code ec, const std::string &amp;msg = std::string{}) - 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/functions/strong_swap.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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="../../faq.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>void try_throw_std_exception_from_error(std::error_code ec, const std::string &amp;msg = std::string{})</code></h1></div></div></div>
<p>This function saves writing boilerplate by throwing a standard library exception
type equivalent to the supplied error code, with an optional custom message.</p>
<p>If the function returns, there is no standard library exception type equivalent
to the supplied error code. The following codes produce the following exception
throws:</p>
<dl>
<dt><code>EINVAL</code>
<dd><code>std::invalid_argument</code>
<dt><code>EDOM</code>
<dd><code>std::domain_error</code>
<dt><code>E2BIG</code>
<dd><code>std::length_error</code>
<dt><code>ERANGE</code>
<dd><code>std::out_of_range</code>
<dt><code>EOVERFLOW</code>
<dd><code>std::overflow_error</code>
<dt><code>ENOMEM</code>
<dd><code>std::bad_alloc</code>
</dl>
<p>The choice to refer to POSIX <code>errno</code> values above reflects the matching algorithm.
As
<a href="https://en.cppreference.com/w/cpp/error/errc" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::errc</code></a>
exactly maps POSIX <code>errno</code>, on all platforms
<a href="https://en.cppreference.com/w/cpp/error/generic_category" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::generic_category</code></a>
error codes are matched by this function.
Only on POSIX platforms only are
<a href="https://en.cppreference.com/w/cpp/error/system_category" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::system_category</code></a>
error codes
also matched by this function.</p>
<p><em>Overridable</em>: Not overridable.</p>
<p><em>Requires</em>: C++ exceptions to be globally enabled.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/utils.hpp&gt;</code></p>
</div><p><small>Last revised: February 01, 2019 at 23:42:52 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/functions/strong_swap.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/functions.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="../../faq.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,82 @@
<!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>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.html"><img src="../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../reference.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/template.html"><img src="../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both">Macros</h1></div></div></div>
<ol class="children children-li"><li>
<a href="../reference/macros/template.html" >Constrained template macros</a><li>
<a href="../reference/macros/version.html" >Version macros</a><li>
<a href="../reference/macros/co_try.html" ><code>BOOST_OUTCOME_CO_TRY(var, expr)</code></a>
<p>Evaluate within a coroutine an expression which results in an understood type, assigning <code>T</code> to a decl called <code>var</code> if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/co_tryv.html" ><code>BOOST_OUTCOME_CO_TRYV(expr)/BOOST_OUTCOME_CO_TRY(expr)</code></a>
<p>Evaluate from within a coroutine an expression which results in an understood type, continuing execution if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/co_tryv2.html" ><code>BOOST_OUTCOME_CO_TRYV2(spec, expr)</code></a>
<p>Evaluate an expression which results in an understood type, continuing execution if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/co_tryv2_failure_likely.html" ><code>BOOST_OUTCOME_CO_TRYV2_FAILURE_LIKELY(spec, expr)</code></a>
<p>Evaluate an expression which results in an understood type, continuing execution if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/co_tryv_failure_likely.html" ><code>BOOST_OUTCOME_CO_TRYV_FAILURE_LIKELY(expr)/BOOST_OUTCOME_CO_TRY_FAILURE_LIKELY(expr)</code></a>
<p>Evaluate from within a coroutine an expression which results in an understood type, continuing execution if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/co_tryx.html" ><code>BOOST_OUTCOME_CO_TRYX(expr)</code></a>
<p>Evaluate from within a coroutine an expression which results in an understood type, emitting the <code>T</code> if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/co_tryx_failure_likely.html" ><code>BOOST_OUTCOME_CO_TRYX_FAILURE_LIKELY(expr)</code></a>
<p>Evaluate from within a coroutine an expression which results in an understood type, emitting the <code>T</code> if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/co_try_failure_likely.html" ><code>BOOST_OUTCOME_CO_TRY_FAILURE_LIKELY(var, expr)</code></a>
<p>Evaluate within a coroutine an expression which results in an understood type, assigning <code>T</code> to a decl called <code>var</code> if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/disable_execinfo.html" ><code>BOOST_OUTCOME_DISABLE_EXECINFO</code></a>
<p>If defined, disables the use of the <code>&lt;execinfo.h&gt;</code> header (or the win32 emulation).</p><li>
<a href="../reference/macros/enable_legacy_support_for.html" ><code>BOOST_OUTCOME_ENABLE_LEGACY_SUPPORT_FOR</code></a>
<p>Enables backwards features and naming compatibility for earlier versions of Outcome.</p><li>
<a href="../reference/macros/nodiscard.html" ><code>BOOST_OUTCOME_NODISCARD</code></a>
<p>How to tell the compiler than the return value of a function should not be discarded without examining it.</p><li>
<a href="../reference/macros/requires.html" ><code>BOOST_OUTCOME_REQUIRES(...)</code></a>
<p>A C++ 20 <code>requires(...)</code>, if available.</p><li>
<a href="../reference/macros/symbol_visible.html" ><code>BOOST_OUTCOME_SYMBOL_VISIBLE</code></a>
<p>How to mark throwable types as always having default ELF symbol visibility.</p><li>
<a href="../reference/macros/thread_local.html" ><code>BOOST_OUTCOME_THREAD_LOCAL</code></a>
<p>How to mark variables as having thread local storage duration.</p><li>
<a href="../reference/macros/throw_exception.html" ><code>BOOST_OUTCOME_THROW_EXCEPTION(expr)</code></a>
<p>How to throw a C++ exception, or equivalent thereof.</p><li>
<a href="../reference/macros/try.html" ><code>BOOST_OUTCOME_TRY(var, expr)</code></a>
<p>Evaluate an expression which results in an understood type, assigning <code>T</code> to a decl called <code>var</code> if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/tryv.html" ><code>BOOST_OUTCOME_TRYV(expr)/BOOST_OUTCOME_TRY(expr)</code></a>
<p>Evaluate an expression which results in an understood type, continuing execution if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/tryv2.html" ><code>BOOST_OUTCOME_TRYV2(spec, expr)</code></a>
<p>Evaluate an expression which results in an understood type, continuing execution if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/tryv2_failure_likely.html" ><code>BOOST_OUTCOME_TRYV2_FAILURE_LIKELY(spec, expr)</code></a>
<p>Evaluate an expression which results in an understood type, continuing execution if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/tryv_failure_likely.html" ><code>BOOST_OUTCOME_TRYV_FAILURE_LIKELY(expr)/BOOST_OUTCOME_TRY_FAILURE_LIKELY(expr)</code></a>
<p>Evaluate an expression which results in an understood type, continuing execution if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/tryx.html" ><code>BOOST_OUTCOME_TRYX(expr)</code></a>
<p>Evaluate an expression which results in an understood type, emitting the <code>T</code> if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/tryx_failure_likely.html" ><code>BOOST_OUTCOME_TRYX_FAILURE_LIKELY(expr)</code></a>
<p>Evaluate an expression which results in an understood type, emitting the <code>T</code> if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/try_failure_likely.html" ><code>BOOST_OUTCOME_TRY_FAILURE_LIKELY(var, expr)</code></a>
<p>Evaluate an expression which results in an understood type, assigning <code>T</code> to a decl called <code>var</code> if successful, immediately returning <code>try_operation_return_as(X)</code> from the calling function if unsuccessful.</p><li>
<a href="../reference/macros/in_place_type.html" ><code>BOOST_OUTCOME_USE_STD_IN_PLACE_TYPE</code></a>
<p>How to implement <code>in_place_type_t&lt;T&gt;</code> and <code>in_place_type&lt;T&gt;</code>.</p><li>
<a href="../reference/macros/is_nothrow_swappable.html" ><code>BOOST_OUTCOME_USE_STD_IS_NOTHROW_SWAPPABLE</code></a>
<p>How to implement <code>is_nothrow_swappable&lt;T&gt;</code>.</p></li></ol>
</div><p><small>Last revised: December 10, 2018 at 20:32:00 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../reference.html"><img src="../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../reference.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/template.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(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>

View File

@@ -0,0 +1,100 @@
<!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>Policies - 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/traits/type_can_be_used_in_basic_result.html"><img src="../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../reference.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/policies/base.html"><img src="../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both">Policies</h1></div></div></div>
<ol class="children children-li"><li>
<a href="../reference/policies/base.html" ><code>base</code></a>
<p>Base class of most policy classes defining the narrow observer policies.</p><ol><li>
<a href="../reference/policies/base/ub.html" ><code>static void _ub(Impl &amp;&amp;)</code></a>
<p>Special function which causes noticeable hard undefined behaviour.</p><li>
<a href="../reference/policies/base/has_value.html" ><code>static bool _has_value(Impl &amp;&amp;) noexcept</code></a>
<p>Returns true if a value is present in the implementation passed in. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/has_error.html" ><code>static bool _has_error(Impl &amp;&amp;) noexcept</code></a>
<p>Returns true if an error is present in the implementation passed in. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/has_exception.html" ><code>static bool _has_exception(Impl &amp;&amp;) noexcept</code></a>
<p>Returns true if an exception is present in the implementation passed in. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/has_error_is_errno.html" ><code>static bool _has_error_is_errno(Impl &amp;&amp;) noexcept</code></a>
<p>Returns true if the error code in the implementation passed in has a domain or category matching that of POSIX <code>errno</code>. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/value.html" ><code>static auto &amp;&amp;_value(Impl &amp;&amp;) noexcept</code></a>
<p>Returns a reference to the value in the implementation passed in. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/error.html" ><code>static auto &amp;&amp;_error(Impl &amp;&amp;) noexcept</code></a>
<p>Returns a reference to the error in the implementation passed in. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/exception.html" ><code>static auto &amp;&amp;_exception(Impl &amp;&amp;) noexcept</code></a>
<p>Returns a reference to the exception in the implementation passed in. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/set_has_value.html" ><code>static void _set_has_value(Impl &amp;&amp;, bool) noexcept</code></a>
<p>Sets whether the implementation has a value. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/set_has_error.html" ><code>static void _set_has_error(Impl &amp;&amp;, bool) noexcept</code></a>
<p>Sets whether the implementation has an error. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/set_has_exception.html" ><code>static void _set_has_exception(Impl &amp;&amp;, bool) noexcept</code></a>
<p>Sets whether the implementation has an exception. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/set_has_error_is_errno.html" ><code>static void _set_has_exception(Impl &amp;&amp;, bool) noexcept</code></a>
<p>Sets whether the implementation&rsquo;s error code has a domain or category matching that of POSIX <code>errno</code>. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/narrow_value_check.html" ><code>static void narrow_value_check(Impl &amp;&amp;) noexcept</code></a>
<p>Observer policy performing hard UB if no value is present. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/narrow_error_check.html" ><code>static void narrow_error_check(Impl &amp;&amp;) noexcept</code></a>
<p>Observer policy performing hard UB if no error is present. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/narrow_exception_check.html" ><code>static void narrow_exception_check(Impl &amp;&amp;) noexcept</code></a>
<p>Observer policy performing hard UB if no exception is present. Constexpr, never throws.</p><li>
<a href="../reference/policies/base/on_outcome_construction.html" ><code>static void on_outcome_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the implicit constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/policies/base/on_outcome_construction2.html" ><code>static void on_outcome_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the implicit constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/policies/base/on_outcome_copy_construction.html" ><code>static void on_outcome_copy_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the converting copy constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/policies/base/on_outcome_copy_construction2.html" ><code>static void on_outcome_copy_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the converting copy constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/policies/base/on_outcome_in_place_construction.html" ><code>static void on_outcome_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;...) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the in-place constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/policies/base/on_outcome_move_construction.html" ><code>static void on_outcome_move_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the converting move constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/policies/base/on_outcome_move_construction2.html" ><code>static void on_outcome_move_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the converting move constructors of <code>basic_outcome</code>.</p><li>
<a href="../reference/policies/base/on_result_construction.html" ><code>static void on_result_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the implicit constructors of <code>basic_result</code>.</p><li>
<a href="../reference/policies/base/on_result_copy_construction.html" ><code>static void on_result_copy_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the converting copy constructors of <code>basic_result</code>.</p><li>
<a href="../reference/policies/base/on_result_in_place_construction.html" ><code>static void on_result_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;...) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the in-place constructors of <code>basic_result</code>.</p><li>
<a href="../reference/policies/base/on_result_move_construction.html" ><code>static void on_result_move_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the converting move constructors of <code>basic_result</code>.</p></li></ol><li>
<a href="../reference/policies/all_narrow.html" ><code>all_narrow</code></a>
<p>Policy class defining that hard undefined behaviour should occur on incorrect narrow and wide value, error or exception observation. Inherits publicly from <code>base</code>.</p><li>
<a href="../reference/policies/error_code_throw_as_system_error_outcome.html" ><code>error_code_throw_as_system_error&lt;T, EC, EP&gt;</code></a>
<p>Policy class defining that <code>EP</code> ought to be rethrown if possible, then the ADL discovered free function <code>outcome_throw_as_system_error_with_payload()</code> should be called on incorrect wide value observation. Inherits publicly from <code>base</code>. Can only be used with <code>basic_outcome</code>.</p><li>
<a href="../reference/policies/error_code_throw_as_system_error_result.html" ><code>error_code_throw_as_system_error&lt;T, EC, void&gt;</code></a>
<p>Policy class defining that the ADL discovered free function <code>outcome_throw_as_system_error_with_payload()</code> should be called on incorrect wide value observation. Inherits publicly from <code>base</code>. Can only be used with <code>basic_result</code>.</p><li>
<a href="../reference/policies/exception_ptr_rethrow_outcome.html" ><code>exception_ptr_rethrow&lt;T, EC, EP&gt;</code></a>
<p>Policy class defining that the ADL discovered free function <code>rethrow_exception()</code> should be called on incorrect wide value observation. Inherits publicly from <code>base</code>. Can only be used with <code>basic_outcome</code>.</p><li>
<a href="../reference/policies/exception_ptr_rethrow_result.html" ><code>exception_ptr_rethrow&lt;T, EC, void&gt;</code></a>
<p>Policy class defining that the ADL discovered free function <code>rethrow_exception()</code> should be called on incorrect wide value observation. Inherits publicly from <code>base</code>. Can only be used with <code>basic_result</code>.</p><li>
<a href="../reference/policies/fail_to_compile_observers.html" ><code>fail_to_compile_observers</code></a>
<p>Policy class defining that a static assertion should occur upon compilation of the wide value, error or exception observation. Inherits publicly from <code>base</code>.</p><li>
<a href="../reference/policies/terminate.html" ><code>terminate</code></a>
<p>Policy class defining that <code>std::terminate()</code> should be called on incorrect wide value, error or exception observation. Inherits publicly from <code>base</code>.</p><li>
<a href="../reference/policies/throw_bad_result_access.html" ><code>throw_bad_result_access&lt;EC&gt;</code></a>
<p>Policy class defining that <code>bad_result_access_with&lt;EC&gt;</code> should be thrown on incorrect wide value observation. Inherits publicly from <code>base</code>.</p></li></ol>
</div><p><small>Last revised: December 13, 2018 at 21:10:19 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../reference/traits/type_can_be_used_in_basic_result.html"><img src="../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../reference.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/policies/base.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>all_narrow - 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/policies/base/on_result_move_construction.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/policies.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/policies/error_code_throw_as_system_error_outcome.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>all_narrow</code></h1></div></div></div>
<p>Policy class defining that hard undefined behaviour should occur on incorrect narrow and wide value, error or exception observation.</p>
<p>Inherits publicly from <a href="../../reference/policies/base.html" class="api-reference"><code>base</code></a>
, and simply defines its wide value, error and exception observer policies to call their corresponding narrow editions.</p>
<p>Included by <code>&lt;basic_result.hpp&gt;</code>, and so is always available when <code>basic_result</code> is available.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::policy</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/policy/all_narrow.hpp&gt;</code></p>
</div><p><small>Last revised: January 22, 2019 at 01:11:40 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/policies/base/on_result_move_construction.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/policies.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/policies/error_code_throw_as_system_error_outcome.html"><img src="../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,107 @@
<!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>base - 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/policies.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/policies.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/policies/base/ub.html"><img src="../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>base</code></h1></div></div></div>
<p>Implements the base class of most policy classes defining the narrow observer policies.</p>
<p><em>Requires</em>: Nothing.</p>
<p><em>Namespace</em>: <code>BOOST_OUTCOME_V2_NAMESPACE::policy</code></p>
<p><em>Header</em>: <code>&lt;boost/outcome/policy/base.hpp&gt;</code></p>
<h3 id="protected-member-functions">Protected member functions</h3>
<h4 id="special">Special</h4>
<ol class="children children-li"><li>
<a href="../../reference/policies/base/ub.html" ><code>static void _ub(Impl &amp;&amp;)</code></a>
<p>Special function which causes noticeable hard undefined behaviour.</p></li></ol>
<h4 id="observers">Observers</h4>
<ol class="children children-li"><li>
<a href="../../reference/policies/base/has_value.html" ><code>static bool _has_value(Impl &amp;&amp;) noexcept</code></a>
<p>Returns true if a value is present in the implementation passed in. Constexpr, never throws.</p><li>
<a href="../../reference/policies/base/has_error.html" ><code>static bool _has_error(Impl &amp;&amp;) noexcept</code></a>
<p>Returns true if an error is present in the implementation passed in. Constexpr, never throws.</p><li>
<a href="../../reference/policies/base/has_exception.html" ><code>static bool _has_exception(Impl &amp;&amp;) noexcept</code></a>
<p>Returns true if an exception is present in the implementation passed in. Constexpr, never throws.</p><li>
<a href="../../reference/policies/base/has_error_is_errno.html" ><code>static bool _has_error_is_errno(Impl &amp;&amp;) noexcept</code></a>
<p>Returns true if the error code in the implementation passed in has a domain or category matching that of POSIX <code>errno</code>. Constexpr, never throws.</p><li>
<a href="../../reference/policies/base/value.html" ><code>static auto &amp;&amp;_value(Impl &amp;&amp;) noexcept</code></a>
<p>Returns a reference to the value in the implementation passed in. Constexpr, never throws.</p><li>
<a href="../../reference/policies/base/error.html" ><code>static auto &amp;&amp;_error(Impl &amp;&amp;) noexcept</code></a>
<p>Returns a reference to the error in the implementation passed in. Constexpr, never throws.</p><li>
<a href="../../reference/policies/base/exception.html" ><code>static auto &amp;&amp;_exception(Impl &amp;&amp;) noexcept</code></a>
<p>Returns a reference to the exception in the implementation passed in. Constexpr, never throws.</p></li></ol>
<h4 id="modifiers">Modifiers</h4>
<ol class="children children-li"><li>
<a href="../../reference/policies/base/set_has_value.html" ><code>static void _set_has_value(Impl &amp;&amp;, bool) noexcept</code></a>
<p>Sets whether the implementation has a value. Constexpr, never throws.</p><li>
<a href="../../reference/policies/base/set_has_error.html" ><code>static void _set_has_error(Impl &amp;&amp;, bool) noexcept</code></a>
<p>Sets whether the implementation has an error. Constexpr, never throws.</p><li>
<a href="../../reference/policies/base/set_has_exception.html" ><code>static void _set_has_exception(Impl &amp;&amp;, bool) noexcept</code></a>
<p>Sets whether the implementation has an exception. Constexpr, never throws.</p><li>
<a href="../../reference/policies/base/set_has_error_is_errno.html" ><code>static void _set_has_exception(Impl &amp;&amp;, bool) noexcept</code></a>
<p>Sets whether the implementation&rsquo;s error code has a domain or category matching that of POSIX <code>errno</code>. Constexpr, never throws.</p></li></ol>
<h3 id="public-member-functions">Public member functions</h3>
<ol class="children children-li"><li>
<a href="../../reference/policies/base/narrow_value_check.html" ><code>static void narrow_value_check(Impl &amp;&amp;) noexcept</code></a>
<p>Observer policy performing hard UB if no value is present. Constexpr, never throws.</p><li>
<a href="../../reference/policies/base/narrow_error_check.html" ><code>static void narrow_error_check(Impl &amp;&amp;) noexcept</code></a>
<p>Observer policy performing hard UB if no error is present. Constexpr, never throws.</p><li>
<a href="../../reference/policies/base/narrow_exception_check.html" ><code>static void narrow_exception_check(Impl &amp;&amp;) noexcept</code></a>
<p>Observer policy performing hard UB if no exception is present. Constexpr, never throws.</p><li>
<a href="../../reference/policies/base/on_outcome_construction.html" ><code>static void on_outcome_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the implicit constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/policies/base/on_outcome_construction2.html" ><code>static void on_outcome_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the implicit constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/policies/base/on_outcome_copy_construction.html" ><code>static void on_outcome_copy_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the converting copy constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/policies/base/on_outcome_copy_construction2.html" ><code>static void on_outcome_copy_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the converting copy constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/policies/base/on_outcome_in_place_construction.html" ><code>static void on_outcome_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;...) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the in-place constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/policies/base/on_outcome_move_construction.html" ><code>static void on_outcome_move_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the converting move constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/policies/base/on_outcome_move_construction2.html" ><code>static void on_outcome_move_construction(T *, U &amp;&amp;, V &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the converting move constructors of <code>basic_outcome</code>.</p><li>
<a href="../../reference/policies/base/on_result_construction.html" ><code>static void on_result_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the implicit constructors of <code>basic_result</code>.</p><li>
<a href="../../reference/policies/base/on_result_copy_construction.html" ><code>static void on_result_copy_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the converting copy constructors of <code>basic_result</code>.</p><li>
<a href="../../reference/policies/base/on_result_in_place_construction.html" ><code>static void on_result_in_place_construction(T *, in_place_type_t&lt;U&gt;, Args &amp;&amp;...) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the in-place constructors of <code>basic_result</code>.</p><li>
<a href="../../reference/policies/base/on_result_move_construction.html" ><code>static void on_result_move_construction(T *, U &amp;&amp;) noexcept</code></a>
<p>(&gt;= Outcome v2.2.0) Hook invoked by the converting move constructors of <code>basic_result</code>.</p></li></ol>
</div><p><small>Last revised: January 22, 2019 at 01:11:40 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../reference/policies.html"><img src="../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../reference/policies.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/policies/base/ub.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>static auto &amp;&amp;_error(Impl &amp;&amp;) noexcept - 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/policies/base/value.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/exception.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>static auto &amp;&amp;_error(Impl &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Returns a reference to the error in the implementation passed in. No checking is done to ensure there is an error. Constexpr where possible.</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Complexity</em>: Constant time.</p>
<p><em>Guarantees</em>: Never throws an exception.</p>
</div><p><small>Last revised: January 22, 2019 at 01:11:40 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/policies/base/value.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/exception.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>static auto &amp;&amp;_exception(Impl &amp;&amp;) noexcept - 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/policies/base/error.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/set_has_value.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>static auto &amp;&amp;_exception(Impl &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Returns a reference to the exception in the implementation passed in. No checking is done to ensure there is an error. Constexpr where possible.</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Complexity</em>: Constant time.</p>
<p><em>Guarantees</em>: Never throws an exception.</p>
</div><p><small>Last revised: January 22, 2019 at 01:11:40 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/policies/base/error.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/set_has_value.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>static bool _has_error(Impl &amp;&amp;) noexcept - 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/policies/base/has_value.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/has_exception.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>static bool _has_error(Impl &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Returns true if an error is present in the implementation passed in. Constexpr where possible.</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Complexity</em>: Constant time.</p>
<p><em>Guarantees</em>: Never throws an exception.</p>
</div><p><small>Last revised: January 22, 2019 at 01:11:40 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/policies/base/has_value.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/has_exception.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>static bool _has_error_is_errno(Impl &amp;&amp;) noexcept - 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/policies/base/has_exception.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/value.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>static bool _has_error_is_errno(Impl &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Returns true if the error code in the implementation passed in has a domain or category matching that of POSIX <code>errno</code>. Constexpr where possible.</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Complexity</em>: Constant time.</p>
<p><em>Guarantees</em>: Never throws an exception.</p>
</div><p><small>Last revised: January 22, 2019 at 01:11:40 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/policies/base/has_exception.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/value.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>static bool _has_exception(Impl &amp;&amp;) noexcept - 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/policies/base/has_error.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/has_error_is_errno.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>static bool _has_exception(Impl &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Returns true if an exception is present in the implementation passed in. Constexpr where possible.</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Complexity</em>: Constant time.</p>
<p><em>Guarantees</em>: Never throws an exception.</p>
</div><p><small>Last revised: January 22, 2019 at 01:11:40 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/policies/base/has_error.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/has_error_is_errno.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>static bool _has_value(Impl &amp;&amp;) noexcept - 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/policies/base/ub.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/has_error.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>static bool _has_value(Impl &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Returns true if a value is present in the implementation passed in. Constexpr where possible.</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Complexity</em>: Constant time.</p>
<p><em>Guarantees</em>: Never throws an exception.</p>
</div><p><small>Last revised: January 22, 2019 at 01:11:40 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/policies/base/ub.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/has_error.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,30 @@
<!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>static void narrow_error_check(Impl &amp;&amp;) noexcept - 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/policies/base/narrow_value_check.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/narrow_exception_check.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>static void narrow_error_check(Impl &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Observer policy performing hard UB if no error is present, by calling <a href="../../../reference/policies/base/ub.html" class="api-reference"><code>static void _ub(Impl &amp;&amp;)</code></a>
. Constexpr where possible.</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Complexity</em>: Constant time.</p>
<p><em>Guarantees</em>: Never throws an exception.</p>
</div><p><small>Last revised: January 22, 2019 at 01:11:40 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/policies/base/narrow_value_check.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/narrow_exception_check.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,30 @@
<!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>static void narrow_exception_check(Impl &amp;&amp;) noexcept - 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/policies/base/narrow_error_check.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/on_outcome_construction.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>static void narrow_exception_check(Impl &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Observer policy performing hard UB if no exception is present, by calling <a href="../../../reference/policies/base/ub.html" class="api-reference"><code>static void _ub(Impl &amp;&amp;)</code></a>
. Constexpr where possible.</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Complexity</em>: Constant time.</p>
<p><em>Guarantees</em>: Never throws an exception.</p>
</div><p><small>Last revised: January 22, 2019 at 01:11:40 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/policies/base/narrow_error_check.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/on_outcome_construction.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

View File

@@ -0,0 +1,30 @@
<!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>static void narrow_value_check(Impl &amp;&amp;) noexcept - 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/policies/base/set_has_error_is_errno.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/narrow_error_check.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
<div class="titlepage"><div><div><h1 style="clear: both"><code>static void narrow_value_check(Impl &amp;&amp;) noexcept</code></h1></div></div></div>
<p>Observer policy performing hard UB if no value is present, by calling <a href="../../../reference/policies/base/ub.html" class="api-reference"><code>static void _ub(Impl &amp;&amp;)</code></a>
. Constexpr where possible.</p>
<p><em>Requires</em>: Always available.</p>
<p><em>Complexity</em>: Constant time.</p>
<p><em>Guarantees</em>: Never throws an exception.</p>
</div><p><small>Last revised: January 22, 2019 at 01:11:40 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/policies/base/set_has_error_is_errno.html"><img src="../../../images/prev.png" alt="Prev"></a>
<a accesskey="u" href="../../../reference/policies/base.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/policies/base/narrow_error_check.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>

Some files were not shown because too many files have changed in this diff Show More