libstdc++
std::reference_wrapper< _Tp > Class Template Reference

#include <refwrap.h>

Public Types

typedef _Tp type
 

Public Member Functions

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_wrapperoperator= (const reference_wrapper &)=default
 

Related Symbols

(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
 
template<typename _Tp >
constexpr reference_wrapper< _Tp > ref (reference_wrapper< _Tp > __t) noexcept
 
template<typename _Tp >
constexpr reference_wrapper< const _Tp > cref (reference_wrapper< _Tp > __t) noexcept
 

Detailed Description

template<typename _Tp>
class std::reference_wrapper< _Tp >

Primary class template for reference_wrapper.

Definition at line 303 of file refwrap.h.

Member Typedef Documentation

◆ type

template<typename _Tp >
typedef _Tp std::reference_wrapper< _Tp >::type

Definition at line 322 of file refwrap.h.

Constructor & Destructor Documentation

◆ reference_wrapper()

template<typename _Tp >
template<typename _Up , typename = __not_same<_Up>, typename = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))>
constexpr std::reference_wrapper< _Tp >::reference_wrapper ( _Up &&  __uref)
inlineconstexprnoexcept

Definition at line 330 of file refwrap.h.

Member Function Documentation

◆ get()

template<typename _Tp >
constexpr _Tp & std::reference_wrapper< _Tp >::get ( ) const
inlineconstexprnoexcept

Definition at line 346 of file refwrap.h.

◆ operator _Tp &()

template<typename _Tp >
constexpr std::reference_wrapper< _Tp >::operator _Tp & ( ) const
inlineconstexprnoexcept

Definition at line 341 of file refwrap.h.

◆ operator()()

template<typename _Tp >
template<typename... _Args>
constexpr __invoke_result< _Tp &, _Args... >::type std::reference_wrapper< _Tp >::operator() ( _Args &&...  __args) const
inlineconstexprnoexcept

Definition at line 352 of file refwrap.h.

Friends And Related Symbol Documentation

◆ cref() [1/2]

template<typename _Tp >
constexpr reference_wrapper< const _Tp > cref ( const _Tp &  __t)
related

Denotes a const reference should be taken to a variable.

Definition at line 381 of file refwrap.h.

◆ cref() [2/2]

template<typename _Tp >
constexpr reference_wrapper< const _Tp > cref ( reference_wrapper< _Tp >  __t)
related

std::cref overload to prevent wrapping a reference_wrapper

Definition at line 401 of file refwrap.h.

◆ ref() [1/2]

template<typename _Tp >
constexpr reference_wrapper< _Tp > ref ( _Tp &  __t)
related

Denotes a reference should be taken to a variable.

Definition at line 374 of file refwrap.h.

◆ ref() [2/2]

template<typename _Tp >
constexpr reference_wrapper< _Tp > ref ( reference_wrapper< _Tp >  __t)
related

std::ref overload to prevent wrapping a reference_wrapper

Definition at line 394 of file refwrap.h.


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