Docs
This commit is contained in:
1 parent
8d1a8bc0ac
commit
ed27d58e95
2 files changed
+226
-43
No files matched your search
+128
-21
@@ -149,20 +149,58 @@ Represents an empty optional
|
||||
class optional
|
||||
{
|
||||
public:
|
||||
template <class F> constexpr auto and_then(F &&f);
|
||||
template <class F> constexpr auto and_then(F &&f) const;
|
||||
template <class F>
|
||||
constexpr auto and_then(F &&f) &;
|
||||
template <class F>
|
||||
constexpr auto and_then(F &&f) &&;
|
||||
template <class F>
|
||||
constexpr auto and_then(F &&f) const &;
|
||||
template <class F>
|
||||
constexpr auto and_then(F &&f) const &&;
|
||||
|
||||
template <class F> auto map(F &&f);
|
||||
template <class F> auto map(F &&f) const;
|
||||
template <class F> auto map(F &&f) &;
|
||||
template <class F> auto map(F &&f) &&;
|
||||
template <class F> auto map(F &&f) const &;
|
||||
template <class F> auto map(F &&f) const &&;
|
||||
|
||||
template <class F> optional<T> or_else (F &&f);
|
||||
template <class F> optional<T> or_else (F &&f) const;
|
||||
template <class F> optional<T> or_else (F &&f) &;
|
||||
template <class F> optional<T> or_else (F &&f) &&;
|
||||
template <class F> optional<T> or_else (F &&f) const &;
|
||||
|
||||
template <class F, class U> U map_or(F &&f, U &&u);
|
||||
template <class F, class U> U map_or(F &&f, U &&u) const;
|
||||
template <class F, class U>
|
||||
U <a href='doc_optional.md#tl::optional-T-::map_or(F&&,U&&)&'>map_or</a>(F&& f, U&& u) &;
|
||||
template <class F, class U>
|
||||
U <a href='doc_optional.md#tl::optional-T-::map_or(F&&,U&&)&'>map_or</a>(F&& f, U&& u) &&;
|
||||
template <class F, class U>
|
||||
U <a href='doc_optional.md#tl::optional-T-::map_or(F&&,U&&)&'>map_or</a>(F&& f, U&& u) const &;
|
||||
template <class F, class U>
|
||||
U <a href='doc_optional.md#tl::optional-T-::map_or(F&&,U&&)&'>map_or</a>(F&& f, U&& u) const &&;
|
||||
|
||||
template <class F, class U> U map_or_else(F &&f, U &&u);
|
||||
template <class F, class U> U map_or_else(F &&f, U &&u) const;
|
||||
template <class F, class U>
|
||||
U <a href='doc_optional.md#tl::optional-T-::map_or_else(F&&,U&&)&'>map_or_else</a>(F&& f, U&& u) &;
|
||||
template <class F, class U>
|
||||
U <a href='doc_optional.md#tl::optional-T-::map_or_else(F&&,U&&)&'>map_or_else</a>(F&& f, U&& u) &&;
|
||||
template <class F, class U>
|
||||
U <a href='doc_optional.md#tl::optional-T-::map_or_else(F&&,U&&)&'>map_or_else</a>(F&& f, U&& u) const &;
|
||||
template <class F, class U>
|
||||
U <a href='doc_optional.md#tl::optional-T-::map_or_else(F&&,U&&)&'>map_or_else</a>(F&& f, U&& u) const &&;
|
||||
|
||||
template <class U>
|
||||
constexpr <a href='doc_optional.md#tl::optional-T-'>optional<U></a> <a href='doc_optional.md#tl::optional-T-::conjunction(U&&)const'>conjunction</a>(U&& u) const;
|
||||
|
||||
constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> <a href='doc_optional.md#tl::optional-T-::disjunction(constoptional-T-&)&'>disjunction</a>(const <a href='doc_optional.md#tl::optional-T-'>optional</a>& rhs) &;
|
||||
constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> <a href='doc_optional.md#tl::optional-T-::disjunction(constoptional-T-&)&'>disjunction</a>(const <a href='doc_optional.md#tl::optional-T-'>optional</a>& rhs) const &;
|
||||
constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> <a href='doc_optional.md#tl::optional-T-::disjunction(constoptional-T-&)&'>disjunction</a>(const <a href='doc_optional.md#tl::optional-T-'>optional</a>& rhs) &&;
|
||||
constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> <a href='doc_optional.md#tl::optional-T-::disjunction(constoptional-T-&)&'>disjunction</a>(const <a href='doc_optional.md#tl::optional-T-'>optional</a>& rhs) const &&;
|
||||
constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> <a href='doc_optional.md#tl::optional-T-::disjunction(constoptional-T-&)&'>disjunction</a>(<a href='doc_optional.md#tl::optional-T-'>optional</a>&& rhs) &;
|
||||
constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> <a href='doc_optional.md#tl::optional-T-::disjunction(constoptional-T-&)&'>disjunction</a>(<a href='doc_optional.md#tl::optional-T-'>optional</a>&& rhs) const &;
|
||||
constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> <a href='doc_optional.md#tl::optional-T-::disjunction(constoptional-T-&)&'>disjunction</a>(<a href='doc_optional.md#tl::optional-T-'>optional</a>&& rhs) &&;
|
||||
constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> <a href='doc_optional.md#tl::optional-T-::disjunction(constoptional-T-&)&'>disjunction</a>(<a href='doc_optional.md#tl::optional-T-'>optional</a>&& rhs) const &&;
|
||||
|
||||
<a href='doc_optional.md#tl::optional-T-'>optional</a> <a href='doc_optional.md#tl::optional-T-::take()&'>take</a>() &;
|
||||
<a href='doc_optional.md#tl::optional-T-'>optional</a> <a href='doc_optional.md#tl::optional-T-::take()&'>take</a>() const &;
|
||||
<a href='doc_optional.md#tl::optional-T-'>optional</a> <a href='doc_optional.md#tl::optional-T-::take()&'>take</a>() &&;
|
||||
<a href='doc_optional.md#tl::optional-T-'>optional</a> <a href='doc_optional.md#tl::optional-T-::take()&'>take</a>() const &&;
|
||||
|
||||
using <a href='doc_optional.md#tl::optional-T-'>value_type</a> = T;
|
||||
|
||||
@@ -228,9 +266,17 @@ An optional object is an object that contains the storage for another object and
|
||||
|
||||
### Function template `tl::optional::and_then`<a id="tl::optional-T-::and_then(F&&)&"></a>
|
||||
|
||||
<pre><code class="language-cpp">(1) template <class F> constexpr auto and_then(F &&f);
|
||||
<pre><code class="language-cpp">(1) template <class F>
|
||||
constexpr auto and_then(F &&f) &;
|
||||
|
||||
(2) template <class F> constexpr auto and_then(F &&f) const;</code></pre>
|
||||
(2) template <class F>
|
||||
constexpr auto and_then(F &&f) &&;
|
||||
|
||||
(3) template <class F>
|
||||
constexpr auto and_then(F &&f) const &;
|
||||
|
||||
(4) template <class F>
|
||||
constexpr auto and_then(F &&f) const &&;</code></pre>
|
||||
|
||||
Carries out some operation which returns an optional on the stored object if there is one.
|
||||
|
||||
@@ -240,9 +286,13 @@ Carries out some operation which returns an optional on the stored object if the
|
||||
|
||||
### Function template `tl::optional::map`<a id="tl::optional-T-::map(F&&)&"></a>
|
||||
|
||||
<pre><code class="language-cpp">(1) template <class F> auto map(F &&f);
|
||||
<pre><code class="language-cpp">(1) template <class F> auto map(F &&f) &;
|
||||
|
||||
(2) template <class F> auto map(F &&f) const;</code></pre>
|
||||
(2) template <class F> auto map(F &&f) &&;
|
||||
|
||||
(3) template <class F> auto map(F &&f) const &;
|
||||
|
||||
(4) template <class F> auto map(F &&f) const &&;</code></pre>
|
||||
|
||||
Carries out some operation on the stored object if there is one.
|
||||
|
||||
@@ -250,9 +300,11 @@ Carries out some operation on the stored object if there is one.
|
||||
|
||||
### Function template `tl::optional::or_else`<a id="tl::optional-T-::or_else(F&&)&"></a>
|
||||
|
||||
<pre><code class="language-cpp">(1) template <class F> optional<T> or_else (F &&f);
|
||||
<pre><code class="language-cpp">(1) template <class F> optional<T> or_else (F &&f) &;
|
||||
|
||||
(2) template <class F> optional<T> or_else (F &&f) const;</code></pre>
|
||||
(2) template <class F> optional<T> or_else (F &&f) &&;
|
||||
|
||||
(3) template <class F> optional<T> or_else (F &&f) const &;</code></pre>
|
||||
|
||||
Calls `f` if the optional is empty
|
||||
|
||||
@@ -262,9 +314,17 @@ Calls `f` if the optional is empty
|
||||
|
||||
### Function template `tl::optional::map_or`<a id="tl::optional-T-::map_or(F&&,U&&)&"></a>
|
||||
|
||||
<pre><code class="language-cpp">(1) template <class F, class U> U map_or(F &&f, U &&u);
|
||||
<pre><code class="language-cpp">(1) template <class F, class U>
|
||||
U map_or(F&& f, U&& u) &;
|
||||
|
||||
(2) template <class F, class U> U map_or(F &&f, U &&u) const;</code></pre>
|
||||
(2) template <class F, class U>
|
||||
U map_or(F&& f, U&& u) &&;
|
||||
|
||||
(3) template <class F, class U>
|
||||
U map_or(F&& f, U&& u) const &;
|
||||
|
||||
(4) template <class F, class U>
|
||||
U map_or(F&& f, U&& u) const &&;</code></pre>
|
||||
|
||||
Maps the stored value with `f` if there is one, otherwise returns `u`
|
||||
|
||||
@@ -272,14 +332,61 @@ If there is a value stored, then `f` is called with `**this` and the value is re
|
||||
|
||||
### Function template `tl::optional::map_or_else`<a id="tl::optional-T-::map_or_else(F&&,U&&)&"></a>
|
||||
|
||||
<pre><code class="language-cpp">(1) template <class F, class U> U map_or_else(F &&f, U &&u);
|
||||
<pre><code class="language-cpp">(1) template <class F, class U>
|
||||
U map_or_else(F&& f, U&& u) &;
|
||||
|
||||
(2) template <class F, class U> U map_or_else(F &&f, U &&u) const;</code></pre>
|
||||
(2) template <class F, class U>
|
||||
U map_or_else(F&& f, U&& u) &&;
|
||||
|
||||
(3) template <class F, class U>
|
||||
U map_or_else(F&& f, U&& u) const &;
|
||||
|
||||
(4) template <class F, class U>
|
||||
U map_or_else(F&& f, U&& u) const &&;</code></pre>
|
||||
|
||||
Maps the stored value with `f` if there is one, otherwise calls `u` and returns the result.
|
||||
|
||||
If there is a value stored, then `f` is called with `**this` and the value is returned. Otherwise `std::forward<U>(u)()` is returned.
|
||||
|
||||
### Function template `tl::optional::conjunction`<a id="tl::optional-T-::conjunction(U&&)const"></a>
|
||||
|
||||
<pre><code class="language-cpp">template <class U>
|
||||
constexpr <a href='doc_optional.md#tl::optional-T-'>optional<U></a> conjunction(U&& u) const;</code></pre>
|
||||
|
||||
*Returns*: `u` if `*this` has a value, otherwise an empty optional.
|
||||
|
||||
### Function `tl::optional::disjunction`<a id="tl::optional-T-::disjunction(constoptional-T-&)&"></a>
|
||||
|
||||
<pre><code class="language-cpp">(1) constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> disjunction(const <a href='doc_optional.md#tl::optional-T-'>optional</a>& rhs) &;
|
||||
|
||||
(2) constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> disjunction(const <a href='doc_optional.md#tl::optional-T-'>optional</a>& rhs) const &;
|
||||
|
||||
(3) constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> disjunction(const <a href='doc_optional.md#tl::optional-T-'>optional</a>& rhs) &&;
|
||||
|
||||
(4) constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> disjunction(const <a href='doc_optional.md#tl::optional-T-'>optional</a>& rhs) const &&;
|
||||
|
||||
(5) constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> disjunction(<a href='doc_optional.md#tl::optional-T-'>optional</a>&& rhs) &;
|
||||
|
||||
(6) constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> disjunction(<a href='doc_optional.md#tl::optional-T-'>optional</a>&& rhs) const &;
|
||||
|
||||
(7) constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> disjunction(<a href='doc_optional.md#tl::optional-T-'>optional</a>&& rhs) &&;
|
||||
|
||||
(8) constexpr <a href='doc_optional.md#tl::optional-T-'>optional</a> disjunction(<a href='doc_optional.md#tl::optional-T-'>optional</a>&& rhs) const &&;</code></pre>
|
||||
|
||||
*Returns*: `rhs` if `*this` is empty, otherwise the current value.
|
||||
|
||||
### Function `tl::optional::take`<a id="tl::optional-T-::take()&"></a>
|
||||
|
||||
<pre><code class="language-cpp">(1) <a href='doc_optional.md#tl::optional-T-'>optional</a> take() &;
|
||||
|
||||
(2) <a href='doc_optional.md#tl::optional-T-'>optional</a> take() const &;
|
||||
|
||||
(3) <a href='doc_optional.md#tl::optional-T-'>optional</a> take() &&;
|
||||
|
||||
(4) <a href='doc_optional.md#tl::optional-T-'>optional</a> take() const &&;</code></pre>
|
||||
|
||||
Takes the value out of the optional, leaving it empty
|
||||
|
||||
### Default constructor `tl::optional::optional`<a id="tl::optional-T-::optional()"></a>
|
||||
|
||||
<pre><code class="language-cpp">(1) constexpr optional() noexcept = default;
|
||||
@@ -335,7 +442,7 @@ Converting move constructor.
|
||||
|
||||
<pre><code class="language-cpp">~optional() = default;</code></pre>
|
||||
|
||||
Destructor.
|
||||
Destroys the stored value if there is one.
|
||||
|
||||
### Assignment operator `tl::optional::operator=`<a id="tl::optional-T-::operator=(tl::nullopt_t)"></a>
|
||||
|
||||
|
||||
Reference in new issue
Block a user