libstdc++
Collaboration diagram for Const-propagating wrapper:

Classes

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

Functions

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)
 

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

Function Documentation

◆ 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 443 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 450 of file propagate_const.

◆ operator _Elem *()

template<typename _Tp , typename _Elem >
constexpr std::experimental::fundamentals_v2::__propagate_const_conversion_nc< _Tp, _Elem, true >::operator _Elem *
constexpr

Definition at line 473 of file propagate_const.

◆ operator _Tp *()

template<typename _Tp >
constexpr std::experimental::fundamentals_v2::__propagate_const_conversions< _Tp * >::operator _Tp *
constexprnoexcept

Definition at line 462 of file propagate_const.

◆ operator const _Elem *()

template<typename _Tp , typename _Elem >
constexpr std::experimental::fundamentals_v2::__propagate_const_conversion_c< _Tp, _Elem, true >::operator const _Elem *
constexpr

Definition at line 467 of file propagate_const.

◆ operator const _Tp *()

template<typename _Tp >
constexpr std::experimental::fundamentals_v2::__propagate_const_conversions< _Tp * >::operator const _Tp *
constexprnoexcept

Definition at line 457 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 396 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 354 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 307 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 286 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 292 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 402 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 360 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 314 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 416 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 374 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 330 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 389 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 347 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 299 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 272 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 279 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 410 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 368 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 323 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 424 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 382 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 339 of file propagate_const.

◆ swap()

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

Definition at line 434 of file propagate_const.