logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

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

                                                    libstdc++    std::experimental::propagate_const<_Tp>(3cxx)

Detailed Description

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

Name

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

Synopsis

       #include <propagate_const>

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

   PublicTypesusingelement_type = __propagate_const_elem_type< _Tp >

   PublicMemberFunctions
       template<typename _Up , typenameenable_if< __and_< is_constructible< _Tp, _Up && >, is_convertible< _Up
           &&, _Tp >, __not_< __is_propagate_const< typenamedecay< _Up >::type > > >::value, bool >::type  =
           true> constexpr propagate_const (_Up &&__u)
       template<typename _Up , typenameenable_if< __and_< is_constructible< _Tp, _Up && >, __not_<
           is_convertible< _Up &&, _Tp > >, __not_< __is_propagate_const< typenamedecay< _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 , typenameenable_if< __and_< is_constructible< _Tp, _Up && >, is_convertible< _Up
           &&, _Tp > >::value, bool >::type  = true> constexpr propagate_const (propagate_const< _Up > &&__pu)
       template<typename _Up , typenameenable_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 operatorbool () 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 voidswap (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

See Also