STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Attributes | List of all members
reference_wrapper< _Ty > Class Template Reference
Inheritance diagram for reference_wrapper< _Ty >:

Public Types

typedef _Ty type
 

Public Member Functions

 reference_wrapper (_Ty &_Val) _NOEXCEPT
 
 operator _Ty & () const _NOEXCEPT
 
_Ty & get () const _NOEXCEPT
 
template<class... _Types>
auto operator() (_Types &&..._Args) const -> decltype(_STD invoke(get(), _STD forward< _Types >(_Args)...))
 
 reference_wrapper (_Ty &&)=delete
 

Private Attributes

_Ty * _Ptr
 

Member Typedef Documentation

template<class _Ty>
typedef _Ty reference_wrapper< _Ty >::type

Constructor & Destructor Documentation

template<class _Ty>
reference_wrapper< _Ty >::reference_wrapper ( _Ty &  _Val)
inline
1809  : _Ptr(_STD addressof(_Val))
1810  { // construct
1811  }
_STD_BEGIN constexpr _Ty * addressof(_Ty &_Val) _NOEXCEPT
Definition: xstddef:628
_Ty * _Ptr
Definition: type_traits:1833
_FwdIt const _Ty _Val
Definition: algorithm:1938
template<class _Ty>
reference_wrapper< _Ty >::reference_wrapper ( _Ty &&  )
delete

Member Function Documentation

template<class _Ty>
_Ty& reference_wrapper< _Ty >::get ( ) const
inline
1819  { // return reference
1820  return (*_Ptr);
1821  }
_Ty * _Ptr
Definition: type_traits:1833
template<class _Ty>
reference_wrapper< _Ty >::operator _Ty & ( ) const
inline
1814  { // return reference
1815  return (*_Ptr);
1816  }
_Ty * _Ptr
Definition: type_traits:1833
template<class _Ty>
template<class... _Types>
auto reference_wrapper< _Ty >::operator() ( _Types &&...  _Args) const -> decltype(_STD invoke(get(), _STD forward<_Types>(_Args)...))
inline
1826  { // invoke object/function
1827  return (_STD invoke(get(), _STD forward<_Types>(_Args)...));
1828  }

Member Data Documentation

template<class _Ty>
_Ty* reference_wrapper< _Ty >::_Ptr
private

The documentation for this class was generated from the following file: