std::ref,std::cref (3) - Linux Manuals
std::ref,std::cref: std::ref,std::cref
NAME
std::ref,std::cref - std::ref,std::cref
Synopsis
Defined in header <functional>
template< class T > (1) (since C++11)
std::reference_wrapper<T> ref(T& t) noexcept;
template< class T > (2) (since C++11)
std::reference_wrapper<T> ref( std::reference_wrapper<T> t ) noexcept;
template <class T> (3) (since C++11)
void ref(const T&&) = delete;
template< class T > (4) (since C++11)
std::reference_wrapper<const T> cref( const T& t ) noexcept;
template< class T > (5) (since C++11)
std::reference_wrapper<const T> cref( std::reference_wrapper<T> t ) noexcept;
template <class T> (6) (since C++11)
void cref(const T&&) = delete;
Function templates ref and cref are helper functions that generate an object of type std::reference_wrapper, using template_argument_deduction to determine the template argument of the result.
T may be an incomplete type. (since C++20)
Parameters
t - lvalue reference to object that needs to be wrapped or an instance of std::reference_wrapper
Return value
1) std::reference_wrapper<T>(t)
2) ref(t.get())
4) std::reference_wrapper<const T>(t)
5) cref(t.get())
3,6) rvalue reference wrapper is deleted.
Example
// Run this code
Output:
See also
reference_wrapper CopyConstructible and CopyAssignable reference wrapper
(C++11)