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

Public Types

using reference = meta::if_c< RValue, T &&, T & >
 
using type = T
 

Public Member Functions

constexpr reference get () const noexcept
 
constexpr operator reference () const noexcept
 
 operator std::reference_wrapper< T > () const noexcept
 
template<typename ... Args>
constexpr auto operator() (Args &&...args) const noexcept(noexcept(decltype(invoke(std::declval< reference >(), std::declval< Args >()...))(invoke(std::declval< reference >(), std::declval< Args >()...)))) -> decltype(invoke(std::declval< reference >(), std::declval< Args >()...))
 
constexpr reference_wrapper (reference t) noexcept
 
 reference_wrapper (meta::if_c< RValue, T &, T &&>)=delete