libstdc++
Const-propagating wrapper
Collaboration diagram for Const-propagating wrapper:

Classes

class  std::experimental::fundamentals_v2::propagate_const< _Tp >
 

Typedefs

using std::hash< experimental::propagate_const< _Tp > >::argument_type = experimental::propagate_const< _Tp >
 
typedef remove_reference_t< decltype(*std::declval< _Tp & >())> std::experimental::fundamentals_v2::propagate_const< _Tp >::element_type
 
typedef experimental::propagate_const< _Tp > std::equal_to< experimental::propagate_const< _Tp > >::first_argument_type
 
typedef experimental::propagate_const< _Tp > std::not_equal_to< experimental::propagate_const< _Tp > >::first_argument_type
 
typedef experimental::propagate_const< _Tp > std::less< experimental::propagate_const< _Tp > >::first_argument_type
 
typedef experimental::propagate_const< _Tp > std::greater< experimental::propagate_const< _Tp > >::first_argument_type
 
typedef experimental::propagate_const< _Tp > std::less_equal< experimental::propagate_const< _Tp > >::first_argument_type
 
typedef experimental::propagate_const< _Tp > std::greater_equal< experimental::propagate_const< _Tp > >::first_argument_type
 
using std::hash< experimental::propagate_const< _Tp > >::result_type = size_t
 
typedef bool std::equal_to< experimental::propagate_const< _Tp > >::result_type
 
typedef bool std::not_equal_to< experimental::propagate_const< _Tp > >::result_type
 
typedef bool std::less< experimental::propagate_const< _Tp > >::result_type
 
typedef bool std::greater< experimental::propagate_const< _Tp > >::result_type
 
typedef bool std::less_equal< experimental::propagate_const< _Tp > >::result_type
 
typedef bool std::greater_equal< experimental::propagate_const< _Tp > >::result_type
 
typedef experimental::propagate_const< _Tp > std::equal_to< experimental::propagate_const< _Tp > >::second_argument_type
 
typedef experimental::propagate_const< _Tp > std::not_equal_to< experimental::propagate_const< _Tp > >::second_argument_type
 
typedef experimental::propagate_const< _Tp > std::less< experimental::propagate_const< _Tp > >::second_argument_type
 
typedef experimental::propagate_const< _Tp > std::greater< experimental::propagate_const< _Tp > >::second_argument_type
 
typedef experimental::propagate_const< _Tp > std::less_equal< experimental::propagate_const< _Tp > >::second_argument_type
 
typedef experimental::propagate_const< _Tp > std::greater_equal< experimental::propagate_const< _Tp > >::second_argument_type
 

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 std::experimental::fundamentals_v2::propagate_const< _Tp >::propagate_const (_Up &&__u)
 
 std::experimental::fundamentals_v2::propagate_const< _Tp >::propagate_const (const propagate_const &__p)=delete
 
constexpr std::experimental::fundamentals_v2::propagate_const< _Tp >::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 std::experimental::fundamentals_v2::propagate_const< _Tp >::propagate_const (propagate_const< _Up > &&__pu)
 
constexpr element_type * std::experimental::fundamentals_v2::propagate_const< _Tp >::get ()
 
constexpr const element_type * std::experimental::fundamentals_v2::propagate_const< _Tp >::get () const
 
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< _Tp >::operator bool () const
 
template<typename _Up = _Tp, typename enable_if< __or_< is_pointer< _Up >, is_convertible< _Up, const element_type * > >::value, bool >::type = true>
constexpr std::experimental::fundamentals_v2::propagate_const< _Tp >::operator const element_type * () const
 
template<typename _Up = _Tp, typename enable_if< __or_< is_pointer< _Up >, is_convertible< _Up, const element_type * > >::value, bool >::type = true>
constexpr std::experimental::fundamentals_v2::propagate_const< _Tp >::operator element_type * ()
 
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)
 
size_t std::hash< experimental::propagate_const< _Tp > >::operator() (const experimental::propagate_const< _Tp > &__t) const noexcept(noexcept(hash< _Tp >{}(get_underlying(__t))))
 
constexpr bool std::equal_to< experimental::propagate_const< _Tp > >::operator() (const experimental::propagate_const< _Tp > &__x, const experimental::propagate_const< _Tp > &__y) const
 
constexpr bool std::not_equal_to< experimental::propagate_const< _Tp > >::operator() (const experimental::propagate_const< _Tp > &__x, const experimental::propagate_const< _Tp > &__y) const
 
constexpr bool std::less< experimental::propagate_const< _Tp > >::operator() (const experimental::propagate_const< _Tp > &__x, const experimental::propagate_const< _Tp > &__y) const
 
constexpr bool std::greater< experimental::propagate_const< _Tp > >::operator() (const experimental::propagate_const< _Tp > &__x, const experimental::propagate_const< _Tp > &__y) const
 
constexpr bool std::less_equal< experimental::propagate_const< _Tp > >::operator() (const experimental::propagate_const< _Tp > &__x, const experimental::propagate_const< _Tp > &__y) const
 
constexpr bool std::greater_equal< experimental::propagate_const< _Tp > >::operator() (const experimental::propagate_const< _Tp > &__x, const experimental::propagate_const< _Tp > &__y) const
 
constexpr element_type & std::experimental::fundamentals_v2::propagate_const< _Tp >::operator* ()
 
constexpr const element_type & std::experimental::fundamentals_v2::propagate_const< _Tp >::operator* () const
 
constexpr element_type * std::experimental::fundamentals_v2::propagate_const< _Tp >::operator-> ()
 
constexpr const element_type * std::experimental::fundamentals_v2::propagate_const< _Tp >::operator-> () const
 
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 _Up , typename = typename enable_if<__and_<is_convertible<_Up&&, _Tp>, __not_<__is_propagate_const< typename decay<_Up>::type>> >::value>::type>
constexpr propagate_conststd::experimental::fundamentals_v2::propagate_const< _Tp >::operator= (_Up &&__u)
 
propagate_conststd::experimental::fundamentals_v2::propagate_const< _Tp >::operator= (const propagate_const &__p)=delete
 
constexpr propagate_conststd::experimental::fundamentals_v2::propagate_const< _Tp >::operator= (propagate_const &&__p)=default
 
template<typename _Up , typename = typename enable_if<is_convertible<_Up&&, _Tp>::value>::type>
constexpr propagate_conststd::experimental::fundamentals_v2::propagate_const< _Tp >::operator= (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)
 
constexpr void std::experimental::fundamentals_v2::propagate_const< _Tp >::swap (propagate_const &__pt) noexcept(__is_nothrow_swappable< _Tp >::value)
 
template<typename _Tp >
constexpr void std::experimental::swap (propagate_const< _Tp > &__pt, propagate_const< _Tp > &__pt2) noexcept(__is_nothrow_swappable< _Tp >::value)
 

Friends

template<typename _Up >
constexpr const _Up & std::experimental::fundamentals_v2::propagate_const< _Tp >::get_underlying (const propagate_const< _Up > &__pt) noexcept
 
template<typename _Up >
constexpr _Up & std::experimental::fundamentals_v2::propagate_const< _Tp >::get_underlying (propagate_const< _Up > &__pt) noexcept
 

Detailed Description

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".

Typedef Documentation

◆ argument_type

template<typename _Tp >
using std::hash< experimental::propagate_const< _Tp > >::argument_type = experimental::propagate_const<_Tp>

Definition at line 436 of file propagate_const.

◆ element_type

template<typename _Tp >
typedef remove_reference_t<decltype(*std::declval<_Tp&>())> std::experimental::fundamentals_v2::propagate_const< _Tp >::element_type

Definition at line 68 of file propagate_const.

◆ first_argument_type [1/6]

template<typename _Tp >
typedef experimental::propagate_const<_Tp> std::equal_to< experimental::propagate_const< _Tp > >::first_argument_type

Definition at line 457 of file propagate_const.

◆ first_argument_type [2/6]

template<typename _Tp >
typedef experimental::propagate_const<_Tp> std::not_equal_to< experimental::propagate_const< _Tp > >::first_argument_type

Definition at line 472 of file propagate_const.

◆ first_argument_type [3/6]

template<typename _Tp >
typedef experimental::propagate_const<_Tp> std::less< experimental::propagate_const< _Tp > >::first_argument_type

Definition at line 487 of file propagate_const.

◆ first_argument_type [4/6]

template<typename _Tp >
typedef experimental::propagate_const<_Tp> std::greater< experimental::propagate_const< _Tp > >::first_argument_type

Definition at line 502 of file propagate_const.

◆ first_argument_type [5/6]

template<typename _Tp >
typedef experimental::propagate_const<_Tp> std::less_equal< experimental::propagate_const< _Tp > >::first_argument_type

Definition at line 517 of file propagate_const.

◆ first_argument_type [6/6]

template<typename _Tp >
typedef experimental::propagate_const<_Tp> std::greater_equal< experimental::propagate_const< _Tp > >::first_argument_type

Definition at line 532 of file propagate_const.

◆ result_type [1/7]

template<typename _Tp >
using std::hash< experimental::propagate_const< _Tp > >::result_type = size_t

Definition at line 435 of file propagate_const.

◆ result_type [2/7]

template<typename _Tp >
typedef bool std::equal_to< experimental::propagate_const< _Tp > >::result_type

Definition at line 459 of file propagate_const.

◆ result_type [3/7]

template<typename _Tp >
typedef bool std::not_equal_to< experimental::propagate_const< _Tp > >::result_type

Definition at line 474 of file propagate_const.

◆ result_type [4/7]

template<typename _Tp >
typedef bool std::less< experimental::propagate_const< _Tp > >::result_type

Definition at line 489 of file propagate_const.

◆ result_type [5/7]

template<typename _Tp >
typedef bool std::greater< experimental::propagate_const< _Tp > >::result_type

Definition at line 504 of file propagate_const.

◆ result_type [6/7]

template<typename _Tp >
typedef bool std::less_equal< experimental::propagate_const< _Tp > >::result_type

Definition at line 519 of file propagate_const.

◆ result_type [7/7]

template<typename _Tp >
typedef bool std::greater_equal< experimental::propagate_const< _Tp > >::result_type

Definition at line 534 of file propagate_const.

◆ second_argument_type [1/6]

template<typename _Tp >
typedef experimental::propagate_const<_Tp> std::equal_to< experimental::propagate_const< _Tp > >::second_argument_type

Definition at line 458 of file propagate_const.

◆ second_argument_type [2/6]

template<typename _Tp >
typedef experimental::propagate_const<_Tp> std::not_equal_to< experimental::propagate_const< _Tp > >::second_argument_type

Definition at line 473 of file propagate_const.

◆ second_argument_type [3/6]

template<typename _Tp >
typedef experimental::propagate_const<_Tp> std::less< experimental::propagate_const< _Tp > >::second_argument_type

Definition at line 488 of file propagate_const.

◆ second_argument_type [4/6]

template<typename _Tp >
typedef experimental::propagate_const<_Tp> std::greater< experimental::propagate_const< _Tp > >::second_argument_type

Definition at line 503 of file propagate_const.

◆ second_argument_type [5/6]

template<typename _Tp >
typedef experimental::propagate_const<_Tp> std::less_equal< experimental::propagate_const< _Tp > >::second_argument_type

Definition at line 518 of file propagate_const.

◆ second_argument_type [6/6]

template<typename _Tp >
typedef experimental::propagate_const<_Tp> std::greater_equal< experimental::propagate_const< _Tp > >::second_argument_type

Definition at line 533 of file propagate_const.

Function Documentation

◆ propagate_const() [1/2]

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::fundamentals_v2::propagate_const< _Tp >::propagate_const ( _Up &&  __u)
inlineconstexpr

Definition at line 137 of file propagate_const.

◆ propagate_const() [2/2]

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::fundamentals_v2::propagate_const< _Tp >::propagate_const ( propagate_const< _Up > &&  __pu)
inlineconstexpr

Definition at line 121 of file propagate_const.

◆ get() [1/2]

template<typename _Tp >
constexpr element_type * std::experimental::fundamentals_v2::propagate_const< _Tp >::get ( )
inlineconstexpr

Definition at line 225 of file propagate_const.

◆ get() [2/2]

template<typename _Tp >
constexpr const element_type * std::experimental::fundamentals_v2::propagate_const< _Tp >::get ( ) const
inlineconstexpr

Definition at line 199 of file propagate_const.

◆ get_underlying() [1/2]

template<typename _Tp >
constexpr const _Tp & std::experimental::fundamentals_v2::get_underlying ( const propagate_const< _Tp > &  __pt)
constexprnoexcept

Definition at line 414 of file propagate_const.

◆ get_underlying() [2/2]

template<typename _Tp >
constexpr _Tp & std::experimental::fundamentals_v2::get_underlying ( propagate_const< _Tp > &  __pt)
constexprnoexcept

Definition at line 421 of file propagate_const.

◆ operator bool()

template<typename _Tp >
constexpr std::experimental::fundamentals_v2::propagate_const< _Tp >::operator bool ( ) const
inlineexplicitconstexpr

Definition at line 174 of file propagate_const.

◆ operator const element_type *()

template<typename _Tp >
template<typename _Up = _Tp, typename enable_if< __or_< is_pointer< _Up >, is_convertible< _Up, const element_type * > >::value, bool >::type = true>
constexpr std::experimental::fundamentals_v2::propagate_const< _Tp >::operator const element_type * ( ) const
inlineconstexpr

Definition at line 189 of file propagate_const.

◆ operator element_type *()

template<typename _Tp >
template<typename _Up = _Tp, typename enable_if< __or_< is_pointer< _Up >, is_convertible< _Up, const element_type * > >::value, bool >::type = true>
constexpr std::experimental::fundamentals_v2::propagate_const< _Tp >::operator element_type * ( )
inlineconstexpr

Definition at line 215 of file propagate_const.

◆ operator!=() [1/5]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator!= ( const _Tp &  __t,
const propagate_const< _Up > &  __pu 
)
constexpr

Definition at line 369 of file propagate_const.

◆ operator!=() [2/5]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator!= ( const propagate_const< _Tp > &  __pt,
const _Up &  __u 
)
constexpr

Definition at line 327 of file propagate_const.

◆ operator!=() [3/5]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator!= ( const propagate_const< _Tp > &  __pt,
const propagate_const< _Up > &  __pu 
)
constexpr

Definition at line 280 of file propagate_const.

◆ operator!=() [4/5]

template<typename _Tp >
constexpr bool std::experimental::fundamentals_v2::operator!= ( const propagate_const< _Tp > &  __pt,
nullptr_t   
)
constexpr

Definition at line 259 of file propagate_const.

◆ operator!=() [5/5]

template<typename _Tp >
constexpr bool std::experimental::fundamentals_v2::operator!= ( nullptr_t  ,
const propagate_const< _Tp > &  __pu 
)
constexpr

Definition at line 265 of file propagate_const.

◆ operator()() [1/7]

template<typename _Tp >
size_t std::hash< experimental::propagate_const< _Tp > >::operator() ( const experimental::propagate_const< _Tp > &  __t) const
inlinenoexcept

Definition at line 439 of file propagate_const.

◆ operator()() [2/7]

template<typename _Tp >
constexpr bool std::equal_to< experimental::propagate_const< _Tp > >::operator() ( const experimental::propagate_const< _Tp > &  __x,
const experimental::propagate_const< _Tp > &  __y 
) const
inlineconstexpr

Definition at line 451 of file propagate_const.

◆ operator()() [3/7]

template<typename _Tp >
constexpr bool std::not_equal_to< experimental::propagate_const< _Tp > >::operator() ( const experimental::propagate_const< _Tp > &  __x,
const experimental::propagate_const< _Tp > &  __y 
) const
inlineconstexpr

Definition at line 466 of file propagate_const.

◆ operator()() [4/7]

template<typename _Tp >
constexpr bool std::less< experimental::propagate_const< _Tp > >::operator() ( const experimental::propagate_const< _Tp > &  __x,
const experimental::propagate_const< _Tp > &  __y 
) const
inlineconstexpr

Definition at line 481 of file propagate_const.

◆ operator()() [5/7]

template<typename _Tp >
constexpr bool std::greater< experimental::propagate_const< _Tp > >::operator() ( const experimental::propagate_const< _Tp > &  __x,
const experimental::propagate_const< _Tp > &  __y 
) const
inlineconstexpr

Definition at line 496 of file propagate_const.

◆ operator()() [6/7]

template<typename _Tp >
constexpr bool std::less_equal< experimental::propagate_const< _Tp > >::operator() ( const experimental::propagate_const< _Tp > &  __x,
const experimental::propagate_const< _Tp > &  __y 
) const
inlineconstexpr

Definition at line 511 of file propagate_const.

◆ operator()() [7/7]

template<typename _Tp >
constexpr bool std::greater_equal< experimental::propagate_const< _Tp > >::operator() ( const experimental::propagate_const< _Tp > &  __x,
const experimental::propagate_const< _Tp > &  __y 
) const
inlineconstexpr

Definition at line 526 of file propagate_const.

◆ operator*() [1/2]

template<typename _Tp >
constexpr element_type & std::experimental::fundamentals_v2::propagate_const< _Tp >::operator* ( )
inlineconstexpr

Definition at line 220 of file propagate_const.

◆ operator*() [2/2]

template<typename _Tp >
constexpr const element_type & std::experimental::fundamentals_v2::propagate_const< _Tp >::operator* ( ) const
inlineconstexpr

Definition at line 194 of file propagate_const.

◆ operator->() [1/2]

template<typename _Tp >
constexpr element_type * std::experimental::fundamentals_v2::propagate_const< _Tp >::operator-> ( )
inlineconstexpr

Definition at line 205 of file propagate_const.

◆ operator->() [2/2]

template<typename _Tp >
constexpr const element_type * std::experimental::fundamentals_v2::propagate_const< _Tp >::operator-> ( ) const
inlineconstexpr

Definition at line 179 of file propagate_const.

◆ operator<() [1/3]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator< ( const _Tp &  __t,
const propagate_const< _Up > &  __pu 
)
constexpr

Definition at line 375 of file propagate_const.

◆ operator<() [2/3]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator< ( const propagate_const< _Tp > &  __pt,
const _Up &  __u 
)
constexpr

Definition at line 333 of file propagate_const.

◆ operator<() [3/3]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator< ( const propagate_const< _Tp > &  __pt,
const propagate_const< _Up > &  __pu 
)
constexpr

Definition at line 287 of file propagate_const.

◆ operator<=() [1/3]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator<= ( const _Tp &  __t,
const propagate_const< _Up > &  __pu 
)
constexpr

Definition at line 389 of file propagate_const.

◆ operator<=() [2/3]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator<= ( const propagate_const< _Tp > &  __pt,
const _Up &  __u 
)
constexpr

Definition at line 347 of file propagate_const.

◆ operator<=() [3/3]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator<= ( const propagate_const< _Tp > &  __pt,
const propagate_const< _Up > &  __pu 
)
constexpr

Definition at line 303 of file propagate_const.

◆ operator=() [1/2]

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::fundamentals_v2::propagate_const< _Tp >::operator= ( _Up &&  __u)
inlineconstexpr

Definition at line 167 of file propagate_const.

◆ operator=() [2/2]

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

Definition at line 156 of file propagate_const.

◆ operator==() [1/5]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator== ( const _Tp &  __t,
const propagate_const< _Up > &  __pu 
)
constexpr

Definition at line 362 of file propagate_const.

◆ operator==() [2/5]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator== ( const propagate_const< _Tp > &  __pt,
const _Up &  __u 
)
constexpr

Definition at line 320 of file propagate_const.

◆ operator==() [3/5]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator== ( const propagate_const< _Tp > &  __pt,
const propagate_const< _Up > &  __pu 
)
constexpr

Definition at line 272 of file propagate_const.

◆ operator==() [4/5]

template<typename _Tp >
constexpr bool std::experimental::fundamentals_v2::operator== ( const propagate_const< _Tp > &  __pt,
nullptr_t   
)
constexpr

Definition at line 245 of file propagate_const.

◆ operator==() [5/5]

template<typename _Tp >
constexpr bool std::experimental::fundamentals_v2::operator== ( nullptr_t  ,
const propagate_const< _Tp > &  __pu 
)
constexpr

Definition at line 252 of file propagate_const.

◆ operator>() [1/3]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator> ( const _Tp &  __t,
const propagate_const< _Up > &  __pu 
)
constexpr

Definition at line 383 of file propagate_const.

◆ operator>() [2/3]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator> ( const propagate_const< _Tp > &  __pt,
const _Up &  __u 
)
constexpr

Definition at line 341 of file propagate_const.

◆ operator>() [3/3]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator> ( const propagate_const< _Tp > &  __pt,
const propagate_const< _Up > &  __pu 
)
constexpr

Definition at line 296 of file propagate_const.

◆ operator>=() [1/3]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator>= ( const _Tp &  __t,
const propagate_const< _Up > &  __pu 
)
constexpr

Definition at line 397 of file propagate_const.

◆ operator>=() [2/3]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator>= ( const propagate_const< _Tp > &  __pt,
const _Up &  __u 
)
constexpr

Definition at line 355 of file propagate_const.

◆ operator>=() [3/3]

template<typename _Tp , typename _Up >
constexpr bool std::experimental::fundamentals_v2::operator>= ( const propagate_const< _Tp > &  __pt,
const propagate_const< _Up > &  __pu 
)
constexpr

Definition at line 312 of file propagate_const.

◆ swap() [1/2]

template<typename _Tp >
constexpr void std::experimental::fundamentals_v2::propagate_const< _Tp >::swap ( propagate_const< _Tp > &  __pt)
inlineconstexprnoexcept

Definition at line 232 of file propagate_const.

◆ swap() [2/2]

template<typename _Tp >
constexpr void std::experimental::fundamentals_v2::swap ( propagate_const< _Tp > &  __pt,
propagate_const< _Tp > &  __pt2 
)
constexprnoexcept

Definition at line 405 of file propagate_const.