#include <functional>
PublicTypestypedef _Tp typePublicMemberFunctions
template<typename _Up , typename = __not_same<_Up>, typename =
decltype(reference_wrapper::_S_fun(std::declval<_Up>()))> constexpr reference_wrapper (_Up &&__uref)
noexcept(noexcept(reference_wrapper::_S_fun(std::declval< _Up >())))
reference_wrapper (const reference_wrapper &)=default
constexpr _Tp & get () const noexcept
constexpr operator_Tp& () const noexcept
template<typename... _Args> constexpr __invoke_result< _Tp &, _Args... >::type operator() (_Args &&...
__args) const noexcept(__is_nothrow_invocable< _Tp &, _Args... >::value)
reference_wrapper & operator= (const reference_wrapper &)=defaultRelatedSymbols
(Note that these are not member symbols.)
template<typename _Tp > constexpr reference_wrapper< _Tp > ref (_Tp &__t) noexcept
template<typename _Tp > constexpr reference_wrapper< const _Tp > cref (const _Tp &__t) noexcept
Denotes a const reference should be taken to a variable.
template<typename _Tp > constexpr reference_wrapper< _Tp > ref (reference_wrapper< _Tp > __t)
noexcept
std::ref overload to prevent wrapping a reference_wrapper
template<typename _Tp > constexpr reference_wrapper< const _Tp > cref (reference_wrapper< _Tp > __t)
noexcept
std::cref overload to prevent wrapping a reference_wrapper