[#beman-optional-make_optional-00]
= xref:beman.adoc[beman]::xref:beman/optional.adoc[optional]::make&lowbar;optional
:relfileprefix: ../../
:mrdocs:

Creates an optional&lt;T&gt; constructing the value in&hyphen;place from the given arguments&period;

== Synopsis

Declared in `&lt;beman&sol;optional&sol;optional&period;hpp&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    typename T,
    typename&period;&period;&period; Args&gt;
constexpr
xref:beman/optional/optional-03.adoc[optional&lt;T&gt;]
make&lowbar;optional(Args&&&period;&period;&period; args) noexcept(&sol;&ast; see-below &ast;&sol;)
requires std&colon;&colon;is&lowbar;constructible&lowbar;v&lt;T, Args&period;&period;&period;&gt;;
----

== Exception specification

This function is potentially-throwing unless `std&colon;&colon;is&lowbar;nothrow&lowbar;constructible&lowbar;v&lt;T, Args&period;&period;&period;&gt;`.

== Return Value

An engaged optional&lt;T&gt; holding the in&hyphen;place constructed value&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *args*
| The arguments forwarded to the constructor of `T&period;`
|===


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