std::experimental::propagate_const - Man Page

Const-propagating wrapper.

Synopsis

Inherits std::experimental::__propagate_const_conversions< _Tp >.

Public Types

using element_type = __propagate_const_elem_type< _Tp >

Public Member Functions

template<typename _Up , typename enable_if< __and_< is_constructible< _Tp, _Up && >, is_convertible< _Up &&, _Tp >, __not_< __is_propagate_const< typename decay< _Up >::type > > >::value, bool >::type  = true> constexpr propagate_const (_Up &&__u)
template<typename _Up , typename enable_if< __and_< is_constructible< _Tp, _Up && >, __not_< is_convertible< _Up &&, _Tp > >, __not_< __is_propagate_const< typename decay< _Up >::type > > >::value, bool >::type  = false> constexpr propagate_const (_Up &&__u)
propagate_const (const propagate_const &__p)=delete
constexpr propagate_const (propagate_const &&__p)=default
template<typename _Up , typename enable_if< __and_< is_constructible< _Tp, _Up && >, is_convertible< _Up &&, _Tp > >::value, bool >::type  = true> constexpr propagate_const (propagate_const< _Up > &&__pu)
template<typename _Up , typename enable_if< __and_< is_constructible< _Tp, _Up && >, __not_< is_convertible< _Up &&, _Tp > > >::value, bool >::type  = false> constexpr propagate_const (propagate_const< _Up > &&__pu)
constexpr element_type * get ()
constexpr const element_type * get () const
constexpr operator bool () const
constexpr element_type & operator* ()
constexpr const element_type & operator* () const
constexpr element_type * operator-> ()
constexpr const element_type * operator-> () const
template<typename _Up , typename  = typename enable_if<__and_<is_convertible<_Up&&, _Tp>,  __not_<__is_propagate_const<   typename decay<_Up>::type>>  >::value>::type> constexpr propagate_const & operator= (_Up &&__u)
propagate_const & operator= (const propagate_const &__p)=delete
constexpr propagate_const & operator= (propagate_const &&__p)=default
template<typename _Up , typename  = typename enable_if<is_convertible<_Up&&, _Tp>::value>::type> constexpr propagate_const & operator= (propagate_const< _Up > &&__pu)
constexpr void swap (propagate_const &__pt) noexcept(__is_nothrow_swappable< _Tp >::value)

Friends

template<typename _Up > constexpr const _Up & get_underlying (const propagate_const< _Up > &__pt) noexcept
template<typename _Up > constexpr _Up & get_underlying (propagate_const< _Up > &__pt) noexcept

Detailed Description

template<typename _Tp>

class std::experimental::propagate_const< _Tp >"Const-propagating wrapper.

Definition at line 108 of file propagate_const.

Member Typedef Documentation

template<typename _Tp > using std::experimental::propagate_const< _Tp >::element_type =  __propagate_const_elem_type<_Tp>

Definition at line 111 of file propagate_const.

Constructor & Destructor Documentation

template<typename _Tp > template<typename _Up , typename enable_if< __and_< is_constructible< _Tp, _Up && >, is_convertible< _Up &&, _Tp > >::value, bool >::type  = true> constexpr std::experimental::propagate_const< _Tp >::propagate_const (propagate_const< _Up > && __pu) [inline], [constexpr]

Definition at line 165 of file propagate_const.

template<typename _Tp > template<typename _Up , typename enable_if< __and_< is_constructible< _Tp, _Up && >, __not_< is_convertible< _Up &&, _Tp > > >::value, bool >::type  = false> constexpr std::experimental::propagate_const< _Tp >::propagate_const (propagate_const< _Up > && __pu) [inline], [explicit], [constexpr]

Definition at line 173 of file propagate_const.

template<typename _Tp > template<typename _Up , typename enable_if< __and_< is_constructible< _Tp, _Up && >, is_convertible< _Up &&, _Tp >, __not_< __is_propagate_const< typename decay< _Up >::type > > >::value, bool >::type  = true> constexpr std::experimental::propagate_const< _Tp >::propagate_const (_Up && __u) [inline], [constexpr]

Definition at line 183 of file propagate_const.

template<typename _Tp > template<typename _Up , typename enable_if< __and_< is_constructible< _Tp, _Up && >, __not_< is_convertible< _Up &&, _Tp > >, __not_< __is_propagate_const< typename decay< _Up >::type > > >::value, bool >::type  = false> constexpr std::experimental::propagate_const< _Tp >::propagate_const (_Up && __u) [inline], [explicit], [constexpr]

Definition at line 193 of file propagate_const.

Member Function Documentation

template<typename _Tp > constexpr element_type * std::experimental::propagate_const< _Tp >::get () [inline], [constexpr]

Definition at line 252 of file propagate_const.

template<typename _Tp > constexpr const element_type * std::experimental::propagate_const< _Tp >::get () const [inline], [constexpr]

Definition at line 236 of file propagate_const.

template<typename _Tp > constexpr std::experimental::propagate_const< _Tp >::operator bool () const [inline], [explicit], [constexpr]

Definition at line 221 of file propagate_const.

template<typename _Tp > constexpr element_type & std::experimental::propagate_const< _Tp >::operator* () [inline], [constexpr]

Definition at line 247 of file propagate_const.

template<typename _Tp > constexpr const element_type & std::experimental::propagate_const< _Tp >::operator* () const [inline], [constexpr]

Definition at line 231 of file propagate_const.

template<typename _Tp > constexpr element_type * std::experimental::propagate_const< _Tp >::operator-> () [inline], [constexpr]

Definition at line 242 of file propagate_const.

template<typename _Tp > constexpr const element_type * std::experimental::propagate_const< _Tp >::operator-> () const [inline], [constexpr]

Definition at line 226 of file propagate_const.

template<typename _Tp > template<typename _Up , typename  = typename enable_if<__and_<is_convertible<_Up&&, _Tp>,  __not_<__is_propagate_const<   typename decay<_Up>::type>>  >::value>::type> constexpr propagate_const & std::experimental::propagate_const< _Tp >::operator= (_Up && __u) [inline], [constexpr]

Definition at line 214 of file propagate_const.

template<typename _Tp > template<typename _Up , typename  = typename enable_if<is_convertible<_Up&&, _Tp>::value>::type> constexpr propagate_const & std::experimental::propagate_const< _Tp >::operator= (propagate_const< _Up > && __pu) [inline], [constexpr]

Definition at line 203 of file propagate_const.

template<typename _Tp > constexpr void std::experimental::propagate_const< _Tp >::swap (propagate_const< _Tp > & __pt) [inline], [constexpr], [noexcept]

Definition at line 259 of file propagate_const.

Author

Generated automatically by Doxygen for libstdc++ from the source code.

Info

Thu Jan 19 2023 libstdc++