Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::reference_wrapper< T > Struct Template Reference
+ Inheritance diagram for ranges::reference_wrapper< T >:

Public Types

using reference = meta::if_< std::is_reference< T >, T, T & >
 
using type = meta::_t< std::remove_reference< T > >
 

Public Member Functions

constexpr reference get () const noexcept
 
constexpr operator reference () const noexcept
 
constexpr U reference_wrapper (U &&u) noexcept(std::is_nothrow_constructible< base_, U >::value)
 
template<typename U >
 requires (!same_as< uncvref_t< U >, reference_wrapper >) &&const ructible_from< base_
 
template<typename... >
 requires (!std::is_rvalue_reference< T >::value)` operator std