hpx::reference_wrapper, hpx::ref, hpx::cref
hpx::reference_wrapper, hpx::ref, hpx::cref#
Defined in header hpx/functional.hpp.
See Public API for a list of names and headers that are part of the public HPX API.
- 
template<typename T>
struct hpx::reference_wrapper<T, std::enable_if_t<traits::needs_reference_semantics_v<T>>># - 
Public Functions
- 
reference_wrapper() = default#
 
- 
template<typename U, typename Enable = std::enable_if_t<!std::is_same_v<std::decay_t<U>, reference_wrapper>>>
inline reference_wrapper(U &&val)# 
- 
inline reference_wrapper(reference_wrapper const &rhs)#
 
- 
reference_wrapper(reference_wrapper &&rhs) = default#
 
- 
inline reference_wrapper &operator=(reference_wrapper const &rhs)#
 
- 
reference_wrapper &operator=(reference_wrapper &&rhs) = default#
 
 - 
reference_wrapper() = default#
 
- 
namespace hpx
 Top level namespace.
Functions
- 
template<typename T>
reference_wrapper(T&) -> reference_wrapper<T># 
- 
template<typename T>
constexpr reference_wrapper<T> ref(T &val) noexcept# 
- 
template<typename T>
constexpr reference_wrapper<T> ref(reference_wrapper<T> val) noexcept# 
- 
template<typename T>
constexpr reference_wrapper<T const> cref(T const &val) noexcept# 
- 
template<typename T>
constexpr reference_wrapper<T const> cref(reference_wrapper<T> val) noexcept# 
- 
template<typename T, typename Enable = std::enable_if_t<traits::needs_reference_semantics_v<T>>>
reference_wrapper<T> ref(T &&val) noexcept# 
- 
template<typename T, typename Enable = void>
struct reference_wrapper : public std::reference_wrapper<T># Public Functions
- 
reference_wrapper() = delete#
 
- 
reference_wrapper() = delete#
 
- template<typename T> needs_reference_semantics_v< T > > >
 Public Types
- 
using type = T#
 
Public Functions
- 
reference_wrapper() = default#
 
- 
template<typename U, typename Enable = std::enable_if_t<!std::is_same_v<std::decay_t<U>, reference_wrapper>>>
inline reference_wrapper(U &&val)# 
- 
inline reference_wrapper(reference_wrapper const &rhs)#
 
- 
reference_wrapper(reference_wrapper &&rhs) = default#
 
- 
inline reference_wrapper &operator=(reference_wrapper const &rhs)#
 
- 
reference_wrapper &operator=(reference_wrapper &&rhs) = default#
 
Private Members
- 
T ptr = {}#
 
- 
using type = T#
 
- 
namespace traits
 Variables
- 
template<typename T>
constexpr bool needs_reference_semantics_v = needs_reference_semantics<T>::value# 
- 
template<typename T>
struct needs_reference_semantics : public false_type# Subclassed by hpx::traits::needs_reference_semantics< T const >
- 
template<typename T>
 
- 
namespace util
 - template<typename T> reference_wrapper< T > >
 Public Types
- 
using type = T
 
- 
using type = T
 
- template<typename T> reference_wrapper< T > const >
 Public Types
- 
using type = T
 
- 
using type = T
 
- 
template<typename T>