<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tagfile>
<compound kind="namespace">
  <name>beman::optional</name>
  <filename>reference.adoc#beman-optional</filename>
  <class kind="class">beman::optional::bad_optional_access</class>
  <class kind="class">beman::optional::in_place_t</class>
  <class kind="class">beman::optional::nullopt_t</class>
  <class kind="class">beman::optional::optional</class>
  <class kind="class">beman::optional::optional</class>
  <class kind="class">beman::optional::make_optional</class>
  <class kind="class">beman::optional::operator==</class>
  <class kind="class">beman::optional::operator!=</class>
  <class kind="class">beman::optional::operator&lt;</class>
  <class kind="class">beman::optional::operator&lt;=</class>
  <class kind="class">beman::optional::operator&gt;</class>
  <class kind="class">beman::optional::operator&gt;=</class>
  <class kind="class">beman::optional::operator&lt;=&gt;</class>
  <class kind="class">beman::optional::in_place</class>
  <class kind="class">beman::optional::nullopt</class>
  <class kind="class">beman::optional::is_derived_from_optional</class>
  <member kind="function">
    <type>void</type>
    <name>swap</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-swap</anchor>
    <arglist>(optional&lt;T&gt;&amp; x, optional&lt;T&gt;&amp; y)</arglist>
  </member>
</compound>
<compound kind="class">
  <name>beman::optional::bad_optional_access</name>
  <filename>reference.adoc#beman-optional-bad_optional_access</filename>
  <member kind="function">
    <type>void</type>
    <name>bad_optional_access</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-bad_optional_access-2constructor</anchor>
    <arglist>()</arglist>
  </member>
  <member kind="function">
    <type>const char*</type>
    <name>what</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-bad_optional_access-what</anchor>
    <arglist>()</arglist>
  </member>
</compound>
<compound kind="class">
  <name>beman::optional::in_place_t</name>
  <filename>reference.adoc#beman-optional-in_place_t</filename>
  <member kind="function">
    <type>void</type>
    <name>in_place_t</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-in_place_t-2constructor</anchor>
    <arglist>()</arglist>
  </member>
</compound>
<compound kind="class">
  <name>beman::optional::nullopt_t</name>
  <filename>reference.adoc#beman-optional-nullopt_t</filename>
  <member kind="function">
    <type>void</type>
    <name>nullopt_t</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-nullopt_t-2constructor</anchor>
    <arglist>(Tag value)</arglist>
  </member>
</compound>
<compound kind="class">
  <name>beman::optional::optional</name>
  <filename>reference.adoc#beman-optional-optional-03</filename>
  <member kind="function">
    <type>bool</type>
    <name>has_value</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-03-has_value</anchor>
    <arglist>()</arglist>
  </member>
  <member kind="function">
    <type>void</type>
    <name>reset</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-03-reset</anchor>
    <arglist>()</arglist>
  </member>
  <member kind="function">
    <type>void</type>
    <name>swap</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-03-swap</anchor>
    <arglist>(optional&amp; rhs)</arglist>
  </member>
  <member kind="function">
    <type>bool</type>
    <name>operator bool</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-03-2conversion</anchor>
    <arglist>()</arglist>
  </member>
</compound>
<compound kind="class">
  <name>beman::optional::optional</name>
  <filename>reference.adoc#beman-optional-optional-06</filename>
  <member kind="function">
    <type>void</type>
    <name>~optional</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-2destructor</anchor>
    <arglist>()</arglist>
  </member>
  <member kind="function">
    <type>auto</type>
    <name>and_then</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-and_then</anchor>
    <arglist>(F&amp;&amp; f)</arglist>
  </member>
  <member kind="function">
    <type>optional&lt;T&amp;&gt;::iterator</type>
    <name>begin</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-begin</anchor>
    <arglist>()</arglist>
  </member>
  <member kind="function">
    <type>T&amp;</type>
    <name>emplace</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-emplace</anchor>
    <arglist>(U&amp;&amp; u)</arglist>
  </member>
  <member kind="function">
    <type>optional&lt;T&amp;&gt;::iterator</type>
    <name>end</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-end</anchor>
    <arglist>()</arglist>
  </member>
  <member kind="function">
    <type>bool</type>
    <name>has_value</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-has_value</anchor>
    <arglist>()</arglist>
  </member>
  <member kind="function">
    <type>T&amp;</type>
    <name>operator*</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-operator_star</anchor>
    <arglist>()</arglist>
  </member>
  <member kind="function">
    <type>T*</type>
    <name>operator-&gt;</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-operator_ptr</anchor>
    <arglist>()</arglist>
  </member>
  <member kind="function">
    <type>optional&lt;T&amp;&gt;</type>
    <name>or_else</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-or_else</anchor>
    <arglist>(F&amp;&amp; f)</arglist>
  </member>
  <member kind="function">
    <type>void</type>
    <name>reset</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-reset</anchor>
    <arglist>()</arglist>
  </member>
  <member kind="function">
    <type>void</type>
    <name>swap</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-swap</anchor>
    <arglist>(optional&amp; rhs)</arglist>
  </member>
  <member kind="function">
    <type>optional&lt;std::invoke_result_t&lt;F, T&amp;&gt;&gt;</type>
    <name>transform</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-transform</anchor>
    <arglist>(F&amp;&amp; f)</arglist>
  </member>
  <member kind="function">
    <type>T&amp;</type>
    <name>value</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-value</anchor>
    <arglist>()</arglist>
  </member>
  <member kind="function">
    <type>std::decay_t&lt;T&gt;</type>
    <name>value_or</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-value_or</anchor>
    <arglist>(U&amp;&amp; u)</arglist>
  </member>
  <member kind="function">
    <type>bool</type>
    <name>operator bool</name>
    <anchorfile>reference.adoc</anchorfile>
    <anchor>beman-optional-optional-06-2conversion</anchor>
    <arglist>()</arglist>
  </member>
</compound>
<compound kind="class">
  <name>beman::optional::make_optional</name>
  <filename>reference.adoc#beman-optional-make_optional-02</filename>
</compound>
<compound kind="class">
  <name>beman::optional::operator==</name>
  <filename>reference.adoc#beman-optional-operator_eq-04</filename>
</compound>
<compound kind="class">
  <name>beman::optional::operator!=</name>
  <filename>reference.adoc#beman-optional-operator_not_eq-0c</filename>
</compound>
<compound kind="class">
  <name>beman::optional::operator&lt;</name>
  <filename>reference.adoc#beman-optional-operator_lt-07</filename>
</compound>
<compound kind="class">
  <name>beman::optional::operator&lt;=</name>
  <filename>reference.adoc#beman-optional-operator_le-05</filename>
</compound>
<compound kind="class">
  <name>beman::optional::operator&gt;</name>
  <filename>reference.adoc#beman-optional-operator_gt-05</filename>
</compound>
<compound kind="class">
  <name>beman::optional::operator&gt;=</name>
  <filename>reference.adoc#beman-optional-operator_ge-09</filename>
</compound>
<compound kind="class">
  <name>beman::optional::operator&lt;=&gt;</name>
  <filename>reference.adoc#beman-optional-operator_3way-04</filename>
</compound>
<compound kind="class">
  <name>beman::optional::in_place</name>
  <filename>reference.adoc#beman-optional-in_place</filename>
</compound>
<compound kind="class">
  <name>beman::optional::nullopt</name>
  <filename>reference.adoc#beman-optional-nullopt</filename>
</compound>
<compound kind="class">
  <name>beman::optional::is_derived_from_optional</name>
  <filename>reference.adoc#beman-optional-is_derived_from_optional</filename>
</compound>
</tagfile>
