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
 
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 419 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 426 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 372 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 330 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 283 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 262 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 268 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 378 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 336 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 290 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 392 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 350 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 306 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 365 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 323 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 275 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 248 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 255 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 386 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 344 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 299 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 400 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 358 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 315 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 410 of file propagate_const.