5 #ifndef DUNE_COMMON_PROXYMEMBERACCESS_HH 6 #define DUNE_COMMON_PROXYMEMBERACCESS_HH 14 #include <type_traits> 24 struct member_access_proxy_holder
28 member_access_proxy_holder(T&& t)
34 const T* operator->()
const 80 pointer_or_proxy_holder
91 inline typename std::enable_if<
92 std::is_lvalue_reference<T>::value,
93 typename std::add_pointer<
94 typename std::remove_reference<
110 inline typename std::enable_if<
111 !std::is_lvalue_reference<T>::value,
112 Impl::member_access_proxy_holder<T>
116 return {std::forward<T>(target)};
123 #endif // DUNE_COMMON_PROXYMEMBERACCESS_HH Dune namespace
Definition: alignedallocator.hh:12
pointer_or_proxy_holder handle_proxy_member_access(T &&t)
Transparent support for providing member access to both lvalues and rvalues (temporary proxies)...