.TH "std::experimental::_Optional_base< _Tp, _ShouldProvideDestructor >" 3cxx "Tue Jul 2 2019" "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME std::experimental::_Optional_base< _Tp, _ShouldProvideDestructor > \- Class template that holds the necessary state for \fBOptional values\fP and that has the responsibility for construction and the special members\&. .SH SYNOPSIS .br .PP .SS "Public Member Functions" .in +1c .ti -1c .RI "constexpr \fB_Optional_base\fP (\fBnullopt_t\fP) noexcept" .br .ti -1c .RI "template constexpr \fB_Optional_base\fP (\fBin_place_t\fP, _Args &&\&.\&.\&. __args)" .br .ti -1c .RI "template &, _Args &&\&.\&.\&. >::value, int > \&.\&.\&.> constexpr \fB_Optional_base\fP (\fBin_place_t\fP, \fBinitializer_list\fP< _Up > __il, _Args &&\&.\&.\&. __args)" .br .ti -1c .RI "\fB_Optional_base\fP (const \fB_Optional_base\fP &__other)" .br .ti -1c .RI "\fB_Optional_base\fP (\fB_Optional_base\fP &&__other) noexcept(\fBis_nothrow_move_constructible\fP< _Tp >())" .br .ti -1c .RI "\fB_Optional_base\fP & \fBoperator=\fP (const \fB_Optional_base\fP &__other)" .br .ti -1c .RI "\fB_Optional_base\fP & \fBoperator=\fP (\fB_Optional_base\fP &&__other) noexcept(__and_< \fBis_nothrow_move_constructible\fP< _Tp >, \fBis_nothrow_move_assignable\fP< _Tp >>())" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "template void \fB_M_construct\fP (_Args &&\&.\&.\&. __args) noexcept(\fBis_nothrow_constructible\fP< _Stored_type, _Args\&.\&.\&. >())" .br .ti -1c .RI "void \fB_M_destruct\fP ()" .br .ti -1c .RI "constexpr _Tp & \fB_M_get\fP () noexcept" .br .ti -1c .RI "constexpr const _Tp & \fB_M_get\fP () const noexcept" .br .ti -1c .RI "constexpr bool \fB_M_is_engaged\fP () const noexcept" .br .ti -1c .RI "void \fB_M_reset\fP ()" .br .in -1c .SH "Detailed Description" .PP .SS "template::value> .br class std::experimental::_Optional_base< _Tp, _ShouldProvideDestructor >" Class template that holds the necessary state for \fBOptional values\fP and that has the responsibility for construction and the special members\&. Such a separate base class template is necessary in order to conditionally enable the special members (e\&.g\&. copy/move constructors)\&. Note that this means that \fB_Optional_base\fP implements the functionality for copy and move assignment, but not for converting assignment\&. .PP \fBSee also:\fP .RS 4 optional, _Enable_special_members .RE .PP .PP Definition at line 202 of file optional\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.