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 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 413 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 420 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 368 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 326 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 279 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 258 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 264 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 374 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 332 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 286 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 388 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 346 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 302 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 361 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 319 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 271 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 244 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 251 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 382 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 340 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 295 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 396 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 354 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 311 of file propagate_const.

◆ swap()

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

Definition at line 404 of file propagate_const.