.TH "std::optional< _Tp >" 3cxx "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME std::optional< _Tp > \- Class template for optional values\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBstd::_Optional_base< _Tp, bool, bool >\fP, and _Enable_copy_move< is_copy_constructible_v< _Tp >, __and_v< is_copy_constructible< _Tp >, is_copy_assignable< _Tp > >, is_move_constructible_v< _Tp >, __and_v< is_move_constructible< _Tp >, is_move_assignable< _Tp > >, optional< _Tp > >\&. .SS "Public Types" .in +1c .ti -1c .RI "\fBusing\fP \fBvalue_type\fP = _Tp" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "template<\fBtypename\fP _Up = _Tp, \fB_Requires\fP< \fB__not_self\fP< _Up >, \fB__not_tag\fP< _Up >, \fBis_constructible\fP< _Tp, _Up >, \fBis_convertible\fP< _Up, _Tp > > = true> \fBconstexpr\fP \fBoptional\fP (_Up &&__t) \fBnoexcept\fP(is_nothrow_constructible_v< _Tp, _Up >)" .br .ti -1c .RI "template<\fBtypename\fP _Up = _Tp, \fB_Requires\fP< \fB__not_self\fP< _Up >, \fB__not_tag\fP< _Up >, \fBis_constructible\fP< _Tp, _Up >, __not_< \fBis_convertible\fP< _Up, _Tp > > > = false> \fBconstexpr\fP \fBoptional\fP (_Up &&__t) \fBnoexcept\fP(is_nothrow_constructible_v< _Tp, _Up >)" .br .ti -1c .RI "template<\fBtypename\fP _Up , \fB_Requires\fP< __not_< \fBis_same\fP< _Tp, _Up > >, \fBis_constructible\fP< _Tp, \fBconst\fP _Up & >, \fBis_convertible\fP< \fBconst\fP _Up &, _Tp >, __not_< \fB__converts_from_optional\fP< _Tp, _Up > > > = true> \fBconstexpr\fP \fBoptional\fP (\fBconst\fP \fBoptional\fP< _Up > &__t) \fBnoexcept\fP(is_nothrow_constructible_v< _Tp, \fBconst\fP _Up & >)" .br .ti -1c .RI "template<\fBtypename\fP _Up , \fB_Requires\fP< __not_< \fBis_same\fP< _Tp, _Up > >, \fBis_constructible\fP< _Tp, \fBconst\fP _Up & >, __not_< \fBis_convertible\fP< \fBconst\fP _Up &, _Tp > >, __not_< \fB__converts_from_optional\fP< _Tp, _Up > > > = false> \fBconstexpr\fP \fBoptional\fP (\fBconst\fP \fBoptional\fP< _Up > &__t) \fBnoexcept\fP(is_nothrow_constructible_v< _Tp, \fBconst\fP _Up & >)" .br .ti -1c .RI "template > = false> \fBconstexpr\fP \fBoptional\fP (in_place_t, \fB_Args\fP &&\&.\&.\&. \fB__args\fP) \fBnoexcept\fP(is_nothrow_constructible_v< _Tp, _Args\&.\&.\&. >)" .br .ti -1c .RI "template<\fBtypename\fP _Up , typename\&.\&.\&. _Args, \fB_Requires\fP< \fBis_constructible\fP< _Tp, \fBinitializer_list\fP< _Up > &, _Args\&.\&.\&. > > = false> \fBconstexpr\fP \fBoptional\fP (in_place_t, \fBinitializer_list\fP< _Up > \fB__il\fP, \fB_Args\fP &&\&.\&.\&. \fB__args\fP) \fBnoexcept\fP(is_nothrow_constructible_v< _Tp, \fBinitializer_list\fP< _Up > &, _Args\&.\&.\&. >)" .br .ti -1c .RI "\fBconstexpr\fP \fBoptional\fP (\fBnullopt_t\fP) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _Up , \fB_Requires\fP< __not_< \fBis_same\fP< _Tp, _Up > >, \fBis_constructible\fP< _Tp, _Up >, \fBis_convertible\fP< _Up, _Tp >, __not_< \fB__converts_from_optional\fP< _Tp, _Up > > > = true> \fBconstexpr\fP \fBoptional\fP (\fBoptional\fP< _Up > &&__t) \fBnoexcept\fP(is_nothrow_constructible_v< _Tp, _Up >)" .br .ti -1c .RI "template<\fBtypename\fP _Up , \fB_Requires\fP< __not_< \fBis_same\fP< _Tp, _Up > >, \fBis_constructible\fP< _Tp, _Up >, __not_< \fBis_convertible\fP< _Up, _Tp > >, __not_< \fB__converts_from_optional\fP< _Tp, _Up > > > = false> \fBconstexpr\fP \fBoptional\fP (\fBoptional\fP< _Up > &&__t) \fBnoexcept\fP(is_nothrow_constructible_v< _Tp, _Up >)" .br .ti -1c .RI "template \fBconstexpr\fP \fBenable_if_t\fP< is_constructible_v< _Tp, _Args\&.\&.\&. >, _Tp & > \fBemplace\fP (\fB_Args\fP &&\&.\&.\&. \fB__args\fP) \fBnoexcept\fP(is_nothrow_constructible_v< _Tp, _Args\&.\&.\&. >)" .br .ti -1c .RI "template<\fBtypename\fP _Up , typename\&.\&.\&. _Args> \fBconstexpr\fP \fBenable_if_t\fP< is_constructible_v< _Tp, \fBinitializer_list\fP< _Up > &, _Args\&.\&.\&. >, _Tp & > \fBemplace\fP (\fBinitializer_list\fP< _Up > \fB__il\fP, \fB_Args\fP &&\&.\&.\&. \fB__args\fP) \fBnoexcept\fP(is_nothrow_constructible_v< _Tp, \fBinitializer_list\fP< _Up > &, _Args\&.\&.\&. >)" .br .ti -1c .RI "\fBconstexpr\fP bool \fBhas_value\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "\fBconstexpr\fP \fBoperator bool\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "\fBconstexpr\fP _Tp && \fBoperator*\fP () &&\fBnoexcept\fP" .br .ti -1c .RI "\fBconstexpr\fP _Tp & \fBoperator*\fP () &\fBnoexcept\fP" .br .ti -1c .RI "\fBconstexpr\fP \fBconst\fP _Tp && \fBoperator*\fP () \fBconst\fP &&\fBnoexcept\fP" .br .ti -1c .RI "\fBconstexpr\fP \fBconst\fP _Tp & \fBoperator*\fP () \fBconst\fP &\fBnoexcept\fP" .br .ti -1c .RI "\fBconstexpr\fP \fBconst\fP _Tp * \fBoperator\->\fP () \fBconst\fP \fBnoexcept\fP" .br .ti -1c .RI "\fBconstexpr\fP _Tp * \fBoperator\->\fP () \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _Up = _Tp> \fBconstexpr\fP \fBenable_if_t\fP< \fB__and_v\fP< \fB__not_self\fP< _Up >, __not_< __and_< \fBis_scalar\fP< _Tp >, \fBis_same\fP< _Tp, \fBdecay_t\fP< _Up > > > >, \fBis_constructible\fP< _Tp, _Up >, \fBis_assignable\fP< _Tp &, _Up > >, \fBoptional\fP & > \fBoperator=\fP (_Up &&\fB__u\fP) \fBnoexcept\fP(\fB__and_v\fP< \fBis_nothrow_constructible\fP< _Tp, _Up >, \fBis_nothrow_assignable\fP< _Tp &, _Up > >)" .br .ti -1c .RI "template<\fBtypename\fP _Up > \fBconstexpr\fP \fBenable_if_t\fP< \fB__and_v\fP< __not_< \fBis_same\fP< _Tp, _Up > >, \fBis_constructible\fP< _Tp, \fBconst\fP _Up & >, \fBis_assignable\fP< _Tp &, \fBconst\fP _Up & >, __not_< \fB__converts_from_optional\fP< _Tp, _Up > >, __not_< \fB__assigns_from_optional\fP< _Tp, _Up > > >, \fBoptional\fP & > \fBoperator=\fP (\fBconst\fP \fBoptional\fP< _Up > &\fB__u\fP) \fBnoexcept\fP(\fB__and_v\fP< \fBis_nothrow_constructible\fP< _Tp, \fBconst\fP _Up & >, \fBis_nothrow_assignable\fP< _Tp &, \fBconst\fP _Up & > >)" .br .ti -1c .RI "\fBconstexpr\fP \fBoptional\fP & \fBoperator=\fP (\fBnullopt_t\fP) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP _Up > \fBconstexpr\fP \fBenable_if_t\fP< \fB__and_v\fP< __not_< \fBis_same\fP< _Tp, _Up > >, \fBis_constructible\fP< _Tp, _Up >, \fBis_assignable\fP< _Tp &, _Up >, __not_< \fB__converts_from_optional\fP< _Tp, _Up > >, __not_< \fB__assigns_from_optional\fP< _Tp, _Up > > >, \fBoptional\fP & > \fBoperator=\fP (\fBoptional\fP< _Up > &&\fB__u\fP) \fBnoexcept\fP(\fB__and_v\fP< \fBis_nothrow_constructible\fP< _Tp, _Up >, \fBis_nothrow_assignable\fP< _Tp &, _Up > >)" .br .ti -1c .RI "\fBconstexpr\fP \fBvoid\fP \fBreset\fP () \fBnoexcept\fP" .br .ti -1c .RI "\fBconstexpr\fP \fBvoid\fP \fBswap\fP (\fBoptional\fP &__other) \fBnoexcept\fP(is_nothrow_move_constructible_v< _Tp > &&\fBis_nothrow_swappable_v\fP< _Tp >)" .br .ti -1c .RI "\fBconstexpr\fP _Tp & \fBvalue\fP () &" .br .ti -1c .RI "\fBconstexpr\fP _Tp && \fBvalue\fP () &&" .br .ti -1c .RI "\fBconstexpr\fP \fBconst\fP _Tp & \fBvalue\fP () \fBconst\fP &" .br .ti -1c .RI "\fBconstexpr\fP \fBconst\fP _Tp && \fBvalue\fP () \fBconst\fP &&" .br .ti -1c .RI "template<\fBtypename\fP _Up > \fBconstexpr\fP _Tp \fBvalue_or\fP (_Up &&\fB__u\fP) &&" .br .ti -1c .RI "template<\fBtypename\fP _Up > \fBconstexpr\fP _Tp \fBvalue_or\fP (_Up &&\fB__u\fP) \fBconst\fP &" .br .in -1c .SH "Detailed Description" .PP .SS "template<\fBtypename\fP _Tp> .br class std::optional< _Tp >"Class template for optional values\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.