[#beman-optional]
= xref:beman.adoc[beman]::optional
:relfileprefix: ../
:mrdocs:

== Types

[cols="1,4"]
|===
| Name| Description
| xref:beman/optional/bad_optional_access.adoc[`bad&lowbar;optional&lowbar;access`] 
| Exception thrown when trying to access the value of an empty optional
| xref:beman/optional/in_place_t.adoc[`in&lowbar;place&lowbar;t`] 
| Tag type for in&hyphen;place construction
| xref:beman/optional/nullopt_t.adoc[`nullopt&lowbar;t`] 
| Tag type for empty optional construction
| xref:beman/optional/optional-03.adoc[`optional`] 
| Optional Objects
|===


== Functions

[cols="1,4"]
|===
| Name| Description
| xref:beman/optional/make_optional-02.adoc[`make&lowbar;optional`] 
| Make an optional
| xref:beman/optional/swap.adoc[`swap`] 
| Swap
| xref:beman/optional/operator_eq-04.adoc[`operator&equals;&equals;`] 
| Equality operators
| xref:beman/optional/operator_not_eq-0c.adoc[`operator!&equals;`] 
| Inequality operators
| xref:beman/optional/operator_lt-07.adoc[`operator&lt;`] 
| Less&hyphen;than operators
| xref:beman/optional/operator_le-05.adoc[`operator&lt;&equals;`] 
| Less&hyphen;than&hyphen;or&hyphen;equal operators
| xref:beman/optional/operator_gt-05.adoc[`operator&gt;`] 
| Greater&hyphen;than operators
| xref:beman/optional/operator_ge-09.adoc[`operator&gt;&equals;`] 
| Greater&hyphen;than&hyphen;or&hyphen;equal operators
| xref:beman/optional/operator_3way-04.adoc[`operator&lt;&equals;&gt;`] 
| Three&hyphen;way comparison operators
|===


== Variables

[cols="1,4"]
|===
| Name| Description
| xref:beman/optional/in_place.adoc[`in&lowbar;place`] 
| Tag for in&hyphen;place construction
| xref:beman/optional/nullopt.adoc[`nullopt`] 
| Tag to disengage optional objects&period;
|===


== Concepts

[cols="1,4"]
|===
| Name| Description
| xref:beman/optional/is_derived_from_optional.adoc[`is&lowbar;derived&lowbar;from&lowbar;optional`] 
| Concept for checking if derived from optional&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
