3 #ifndef DUNE_COMMON_PROXYMEMBERACCESS_HH
4 #define DUNE_COMMON_PROXYMEMBERACCESS_HH
11 #include <type_traits>
21 struct member_access_proxy_holder
25 member_access_proxy_holder(T&& t)
31 const T* operator->()
const
75 pointer_or_proxy_holder
86 inline typename std::enable_if<
87 std::is_lvalue_reference<T>::value,
88 typename std::add_pointer<
89 typename std::remove_reference<
105 inline typename std::enable_if<
106 !std::is_lvalue_reference<T>::value,
107 member_access_proxy_holder<T>
111 return {std::forward<T>(target)};
118 #endif // DUNE_COMMON_PROXYMEMBERACCESS_HH
pointer_or_proxy_holder handle_proxy_member_access(T &&t)
Transparent support for providing member access to both lvalues and rvalues (temporary proxies)...
T _t
Definition: proxymemberaccess.hh:36