| 
| template<typename _Tp >  | 
| constexpr const _Tp &  | std::experimental::get_underlying (const propagate_const< _Tp > &__pt) noexcept | 
|   | 
| template<typename _Tp >  | 
| constexpr _Tp &  | std::experimental::get_underlying (propagate_const< _Tp > &__pt) noexcept | 
|   | 
| constexpr  | std::experimental::fundamentals_v2::__propagate_const_conversion_nc< _Tp, _Elem, true >::operator _Elem * () | 
|   | 
| constexpr  | std::experimental::fundamentals_v2::__propagate_const_conversions< _Tp * >::operator _Tp * () noexcept | 
|   | 
| constexpr  | std::experimental::fundamentals_v2::__propagate_const_conversion_c< _Tp, _Elem, true >::operator const _Elem * () const | 
|   | 
| constexpr  | std::experimental::fundamentals_v2::__propagate_const_conversions< _Tp * >::operator const _Tp * () const noexcept | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator!= (const _Tp &__t, const propagate_const< _Up > &__pu) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator!= (const propagate_const< _Tp > &__pt, const _Up &__u) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator!= (const propagate_const< _Tp > &__pt, const propagate_const< _Up > &__pu) | 
|   | 
| template<typename _Tp >  | 
| constexpr bool  | std::experimental::operator!= (const propagate_const< _Tp > &__pt, nullptr_t) | 
|   | 
| template<typename _Tp >  | 
| constexpr bool  | std::experimental::operator!= (nullptr_t, const propagate_const< _Tp > &__pu) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator< (const _Tp &__t, const propagate_const< _Up > &__pu) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator< (const propagate_const< _Tp > &__pt, const _Up &__u) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator< (const propagate_const< _Tp > &__pt, const propagate_const< _Up > &__pu) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator<= (const _Tp &__t, const propagate_const< _Up > &__pu) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator<= (const propagate_const< _Tp > &__pt, const _Up &__u) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator<= (const propagate_const< _Tp > &__pt, const propagate_const< _Up > &__pu) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator== (const _Tp &__t, const propagate_const< _Up > &__pu) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator== (const propagate_const< _Tp > &__pt, const _Up &__u) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator== (const propagate_const< _Tp > &__pt, const propagate_const< _Up > &__pu) | 
|   | 
| template<typename _Tp >  | 
| constexpr bool  | std::experimental::operator== (const propagate_const< _Tp > &__pt, nullptr_t) | 
|   | 
| template<typename _Tp >  | 
| constexpr bool  | std::experimental::operator== (nullptr_t, const propagate_const< _Tp > &__pu) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator> (const _Tp &__t, const propagate_const< _Up > &__pu) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator> (const propagate_const< _Tp > &__pt, const _Up &__u) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator> (const propagate_const< _Tp > &__pt, const propagate_const< _Up > &__pu) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator>= (const _Tp &__t, const propagate_const< _Up > &__pu) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator>= (const propagate_const< _Tp > &__pt, const _Up &__u) | 
|   | 
| template<typename _Tp , typename _Up >  | 
| constexpr bool  | std::experimental::operator>= (const propagate_const< _Tp > &__pt, const propagate_const< _Up > &__pu) | 
|   | 
| template<typename _Tp >  | 
| constexpr enable_if_t< __is_swappable< _Tp >::value, void >  | std::experimental::swap (propagate_const< _Tp > &__pt, propagate_const< _Tp > &__pt2) noexcept(__is_nothrow_swappable< _Tp >::value) | 
|   | 
A const-propagating wrapper that propagates const to pointer-like members, as described in n4388 "A Proposal to Add a Const-Propagating Wrapper
to the Standard Library".