.TH "std::experimental::propagate_const< _Tp >" 3cxx "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME std::experimental::propagate_const< _Tp > \- Const-propagating wrapper\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .SS "Public Types" .in +1c .ti -1c .RI "\fBtypedef\fP \fBremove_reference_t\fP< \fBdecltype\fP(*std::declval< _Tp & >())> \fBelement_type\fP" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "template<\fBtypename\fP \fB_Up\fP , \fBtypename\fP \fBenable_if\fP< __and_< \fBis_constructible\fP< _Tp, \fB_Up\fP && >, \fBis_convertible\fP< \fB_Up\fP &&, _Tp >, __not_< __is_propagate_const< \fBtypename\fP \fBdecay\fP< \fB_Up\fP >::type > > >::value, bool >::type = true> \fBconstexpr\fP \fBpropagate_const\fP (\fB_Up\fP &&\fB__u\fP)" .br .ti -1c .RI "template<\fBtypename\fP \fB_Up\fP , \fBtypename\fP \fBenable_if\fP< __and_< \fBis_constructible\fP< _Tp, \fB_Up\fP && >, __not_< \fBis_convertible\fP< \fB_Up\fP &&, _Tp > >, __not_< __is_propagate_const< \fBtypename\fP \fBdecay\fP< \fB_Up\fP >::type > > >::value, bool >::type = false> \fBconstexpr\fP \fBpropagate_const\fP (\fB_Up\fP &&\fB__u\fP)" .br .ti -1c .RI "\fBpropagate_const\fP (\fBconst\fP \fBpropagate_const\fP &__p)=\fBdelete\fP" .br .ti -1c .RI "\fBconstexpr\fP \fBpropagate_const\fP (\fBpropagate_const\fP &&__p)=\fBdefault\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Up\fP , \fBtypename\fP \fBenable_if\fP< __and_< \fBis_constructible\fP< _Tp, \fB_Up\fP && >, \fBis_convertible\fP< \fB_Up\fP &&, _Tp > >::value, bool >::type = true> \fBconstexpr\fP \fBpropagate_const\fP (\fBpropagate_const\fP< \fB_Up\fP > &&\fB__pu\fP)" .br .ti -1c .RI "template<\fBtypename\fP \fB_Up\fP , \fBtypename\fP \fBenable_if\fP< __and_< \fBis_constructible\fP< _Tp, \fB_Up\fP && >, __not_< \fBis_convertible\fP< \fB_Up\fP &&, _Tp > > >::value, bool >::type = false> \fBconstexpr\fP \fBpropagate_const\fP (\fBpropagate_const\fP< \fB_Up\fP > &&\fB__pu\fP)" .br .ti -1c .RI "\fBconstexpr\fP \fBelement_type\fP * \fBget\fP ()" .br .ti -1c .RI "\fBconstexpr\fP \fBconst\fP \fBelement_type\fP * \fBget\fP () \fBconst\fP" .br .ti -1c .RI "\fBconstexpr\fP \fBoperator bool\fP () \fBconst\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Up\fP = _Tp, \fBtypename\fP \fBenable_if\fP< __or_< \fBis_pointer\fP< \fB_Up\fP >, \fBis_convertible\fP< \fB_Up\fP, \fBconst\fP \fBelement_type\fP * > >::value, bool >::type = true> \fBconstexpr\fP \fBoperator const element_type *\fP () \fBconst\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Up\fP = _Tp, \fBtypename\fP \fBenable_if\fP< __or_< \fBis_pointer\fP< \fB_Up\fP >, \fBis_convertible\fP< \fB_Up\fP, \fBconst\fP \fBelement_type\fP * > >::value, bool >::type = true> \fBconstexpr\fP \fBoperator element_type *\fP ()" .br .ti -1c .RI "\fBconstexpr\fP \fBelement_type\fP & \fBoperator*\fP ()" .br .ti -1c .RI "\fBconstexpr\fP \fBconst\fP \fBelement_type\fP & \fBoperator*\fP () \fBconst\fP" .br .ti -1c .RI "\fBconstexpr\fP \fBelement_type\fP * \fBoperator\->\fP ()" .br .ti -1c .RI "\fBconstexpr\fP \fBconst\fP \fBelement_type\fP * \fBoperator\->\fP () \fBconst\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Up\fP , \fBtypename\fP = typename enable_if<__and_, __not_<__is_propagate_const< typename decay<_Up>::type>> >::value>::type> \fBconstexpr\fP \fBpropagate_const\fP & \fBoperator=\fP (\fB_Up\fP &&\fB__u\fP)" .br .ti -1c .RI "\fBpropagate_const\fP & \fBoperator=\fP (\fBconst\fP \fBpropagate_const\fP &__p)=\fBdelete\fP" .br .ti -1c .RI "\fBconstexpr\fP \fBpropagate_const\fP & \fBoperator=\fP (\fBpropagate_const\fP &&__p)=\fBdefault\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Up\fP , \fBtypename\fP = typename enable_if::value>::type> \fBconstexpr\fP \fBpropagate_const\fP & \fBoperator=\fP (\fBpropagate_const\fP< \fB_Up\fP > &&\fB__pu\fP)" .br .ti -1c .RI "\fBconstexpr\fP \fBvoid\fP \fBswap\fP (\fBpropagate_const\fP &\fB__pt\fP) \fBnoexcept\fP(__is_nothrow_swappable< _Tp >::value)" .br .in -1c .SS "Friends" .in +1c .ti -1c .RI "template<\fBtypename\fP \fB_Up\fP > \fBconstexpr\fP \fBconst\fP \fB_Up\fP & \fBget_underlying\fP (\fBconst\fP \fBpropagate_const\fP< \fB_Up\fP > &\fB__pt\fP) \fBnoexcept\fP" .br .ti -1c .RI "template<\fBtypename\fP \fB_Up\fP > \fBconstexpr\fP \fB_Up\fP & \fBget_underlying\fP (\fBpropagate_const\fP< \fB_Up\fP > &\fB__pt\fP) \fBnoexcept\fP" .br .in -1c .SH "Detailed Description" .PP .SS "template<\fBtypename\fP _Tp> .br class std::experimental::propagate_const< _Tp >"Const-propagating wrapper\&. .PP Definition at line \fB63\fP of file \fBpropagate_const\fP\&. .SH "Member Typedef Documentation" .PP .SS "template<\fBtypename\fP _Tp > \fBtypedef\fP \fBremove_reference_t\fP<\fBdecltype\fP(*std::declval<_Tp&>())> \fBstd::experimental::propagate_const\fP< _Tp >::element_type" .PP Definition at line \fB66\fP of file \fBpropagate_const\fP\&. .SH "Constructor & Destructor Documentation" .PP .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Up\fP , \fBtypename\fP \fBenable_if\fP< __and_< \fBis_constructible\fP< _Tp, \fB_Up\fP && >, \fBis_convertible\fP< \fB_Up\fP &&, _Tp > >::value, bool >::type = true> \fBconstexpr\fP \fBstd::experimental::propagate_const\fP< _Tp >::propagate_const (\fBpropagate_const\fP< \fB_Up\fP > && __pu)\fC [inline]\fP, \fC [constexpr]\fP" .PP Definition at line \fB119\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Up\fP , \fBtypename\fP \fBenable_if\fP< __and_< \fBis_constructible\fP< _Tp, \fB_Up\fP && >, __not_< \fBis_convertible\fP< \fB_Up\fP &&, _Tp > > >::value, bool >::type = false> \fBconstexpr\fP \fBstd::experimental::propagate_const\fP< _Tp >::propagate_const (\fBpropagate_const\fP< \fB_Up\fP > && __pu)\fC [inline]\fP, \fC [explicit]\fP, \fC [constexpr]\fP" .PP Definition at line \fB126\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Up\fP , \fBtypename\fP \fBenable_if\fP< __and_< \fBis_constructible\fP< _Tp, \fB_Up\fP && >, \fBis_convertible\fP< \fB_Up\fP &&, _Tp >, __not_< __is_propagate_const< \fBtypename\fP \fBdecay\fP< \fB_Up\fP >::type > > >::value, bool >::type = true> \fBconstexpr\fP \fBstd::experimental::propagate_const\fP< _Tp >::propagate_const (\fB_Up\fP && __u)\fC [inline]\fP, \fC [constexpr]\fP" .PP Definition at line \fB135\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Up\fP , \fBtypename\fP \fBenable_if\fP< __and_< \fBis_constructible\fP< _Tp, \fB_Up\fP && >, __not_< \fBis_convertible\fP< \fB_Up\fP &&, _Tp > >, __not_< __is_propagate_const< \fBtypename\fP \fBdecay\fP< \fB_Up\fP >::type > > >::value, bool >::type = false> \fBconstexpr\fP \fBstd::experimental::propagate_const\fP< _Tp >::propagate_const (\fB_Up\fP && __u)\fC [inline]\fP, \fC [explicit]\fP, \fC [constexpr]\fP" .PP Definition at line \fB144\fP of file \fBpropagate_const\fP\&. .SH "Member Function Documentation" .PP .SS "template<\fBtypename\fP _Tp > \fBconstexpr\fP \fBelement_type\fP * \fBstd::experimental::propagate_const\fP< _Tp >::get ()\fC [inline]\fP, \fC [constexpr]\fP" .PP Definition at line \fB223\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > \fBconstexpr\fP \fBconst\fP \fBelement_type\fP * \fBstd::experimental::propagate_const\fP< _Tp >::get () const\fC [inline]\fP, \fC [constexpr]\fP" .PP Definition at line \fB197\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > \fBconstexpr\fP \fBstd::experimental::propagate_const\fP< _Tp >::operator bool () const\fC [inline]\fP, \fC [explicit]\fP, \fC [constexpr]\fP" .PP Definition at line \fB172\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Up\fP = _Tp, \fBtypename\fP \fBenable_if\fP< __or_< \fBis_pointer\fP< \fB_Up\fP >, \fBis_convertible\fP< \fB_Up\fP, \fBconst\fP \fBelement_type\fP * > >::value, bool >::type = true> \fBconstexpr\fP \fBstd::experimental::propagate_const\fP< _Tp >::operator \fBconst\fP \fBelement_type\fP * () const\fC [inline]\fP, \fC [constexpr]\fP" .PP Definition at line \fB187\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Up\fP = _Tp, \fBtypename\fP \fBenable_if\fP< __or_< \fBis_pointer\fP< \fB_Up\fP >, \fBis_convertible\fP< \fB_Up\fP, \fBconst\fP \fBelement_type\fP * > >::value, bool >::type = true> \fBconstexpr\fP \fBstd::experimental::propagate_const\fP< _Tp >::operator \fBelement_type\fP * ()\fC [inline]\fP, \fC [constexpr]\fP" .PP Definition at line \fB213\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > \fBconstexpr\fP \fBelement_type\fP & \fBstd::experimental::propagate_const\fP< _Tp >::operator* ()\fC [inline]\fP, \fC [constexpr]\fP" .PP Definition at line \fB218\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > \fBconstexpr\fP \fBconst\fP \fBelement_type\fP & \fBstd::experimental::propagate_const\fP< _Tp >::operator* () const\fC [inline]\fP, \fC [constexpr]\fP" .PP Definition at line \fB192\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > \fBconstexpr\fP \fBelement_type\fP * \fBstd::experimental::propagate_const\fP< _Tp >::operator\-> ()\fC [inline]\fP, \fC [constexpr]\fP" .PP Definition at line \fB203\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > \fBconstexpr\fP \fBconst\fP \fBelement_type\fP * \fBstd::experimental::propagate_const\fP< _Tp >::operator\-> () const\fC [inline]\fP, \fC [constexpr]\fP" .PP Definition at line \fB177\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Up\fP , \fBtypename\fP = typename enable_if<__and_, __not_<__is_propagate_const< typename decay<_Up>::type>> >::value>::type> \fBconstexpr\fP \fBpropagate_const\fP & \fBstd::experimental::propagate_const\fP< _Tp >::operator= (\fB_Up\fP && __u)\fC [inline]\fP, \fC [constexpr]\fP" .PP Definition at line \fB165\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > template<\fBtypename\fP \fB_Up\fP , \fBtypename\fP = typename enable_if::value>::type> \fBconstexpr\fP \fBpropagate_const\fP & \fBstd::experimental::propagate_const\fP< _Tp >::operator= (\fBpropagate_const\fP< \fB_Up\fP > && __pu)\fC [inline]\fP, \fC [constexpr]\fP" .PP Definition at line \fB154\fP of file \fBpropagate_const\fP\&. .SS "template<\fBtypename\fP _Tp > \fBconstexpr\fP \fBvoid\fP \fBstd::experimental::propagate_const\fP< _Tp >::swap (\fBpropagate_const\fP< _Tp > & __pt)\fC [inline]\fP, \fC [constexpr]\fP, \fC [noexcept]\fP" .PP Definition at line \fB230\fP of file \fBpropagate_const\fP\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.