[#absl-make_optional-0b] = xref:absl.adoc[absl]::make_optional :relfileprefix: ../ :mrdocs: `make_optional` overloads == Synopses Declared in `<absl/types/optional.h>` Creates an `optional` holding a copy of the given value. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename T> constexpr decltype(std::make_optional( std::declval<T>())) xref:absl/make_optional-06.adoc[make_optional](T&& value); ---- [.small]#xref:absl/make_optional-06.adoc[_» more..._]# Creates an `optional<T>` by constructing `T` in place. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename T, typename... Args> constexpr decltype(std::make_optional<T>( std::declval<Args>()...)) xref:absl/make_optional-02.adoc[make_optional](Args&&... args); ---- [.small]#xref:absl/make_optional-02.adoc[_» more..._]# Creates an `optional<T>` from an initializer list and extra arguments. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename T, typename U, typename... Args> constexpr decltype(std::make_optional<T>( std::declval<std::initializer_list<U>>(), std::declval<Args>()...)) xref:absl/make_optional-07.adoc[make_optional]( std::initializer_list<U> il, Args&&... args); ---- [.small]#xref:absl/make_optional-07.adoc[_» more..._]# == Return Value * An optional holding the forwarded value. * An optional holding the constructed value. == Parameters [cols="1,4"] |=== | Name| Description | *value* | The value to store in the returned optional. | *args* | Arguments forwarded to the constructor of `T`. | *il* | Initializer list forwarded to the constructor of `T`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#