std::experimental::propagate_const< _Tp >

Section: C Library Functions (3)
Updated: Wed Apr 17 2019
Page Index
 

NAME

std::experimental::propagate_const< _Tp > - Const-propagating wrapper.

 

SYNOPSIS


 

Public Types


typedef remove_reference_t< decltype(*std::declval< _Tp & >))> element_type
 

Public Member Functions


propagate_const (const propagate_const &__p)=delete

constexpr 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 propagate_const (propagate_const< _Up > &&__pu)

template<typename _Up , typename enable_if< __and_< is_constructible< _Tp, _Up && >, __not_< is_convertible< _Up &&, _Tp >>>::value, bool >::type = false> constexpr propagate_const (propagate_const< _Up > &&__pu)

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 propagate_const (_Up &&__u)

template<typename _Up , typename enable_if< __and_< is_constructible< _Tp, _Up && >, __not_< is_convertible< _Up &&, _Tp >>, __not_< __is_propagate_const< typename decay< _Up >::type >> >::value, bool >::type = false> constexpr propagate_const (_Up &&__u)

constexpr const element_type * get () const

constexpr element_type * get ()

constexpr const element_type & operator * () const

constexpr element_type & operator * ()

constexpr 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 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 operator element_type * ()

constexpr const element_type * operator-> () const

constexpr element_type * operator-> ()

propagate_const & operator= (const propagate_const &__p)=delete

constexpr propagate_const & operator= (propagate_const &&__p)=default

template<typename _Up , typename = typename enable_if<is_convertible<_Up&&, _Tp>::value>::type> constexpr propagate_const & operator= (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 & operator= (_Up &&__u)

constexpr void swap (propagate_const &__pt) noexcept(__is_nothrow_swappable< _Tp >::value)
 

Friends



template<typename _Up > constexpr const _Up & get_underlying (const propagate_const< _Up > &__pt) noexcept

template<typename _Up > constexpr _Up & get_underlying (propagate_const< _Up > &__pt) noexcept
 

Detailed Description

 

template<typename _Tp>


class std::experimental::propagate_const< _Tp >" Const-propagating wrapper.

Definition at line 63 of file propagate_const.

 

Author

Generated automatically by Doxygen for libstdc++ from the source code.


 

Index

NAME
SYNOPSIS
Public Types
Public Member Functions
Friends
Detailed Description
template<typename _Tp>
Author