|
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 |
|
|
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_const & | std::experimental::fundamentals_v2::propagate_const< _Tp >::operator= (_Up &&__u) |
|
propagate_const & | std::experimental::fundamentals_v2::propagate_const< _Tp >::operator= (const propagate_const &__p)=delete |
|
constexpr propagate_const & | std::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_const & | std::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) |
|
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".