3 #ifndef DUNE_COMMON_PROXYMEMBERACCESS_HH 4 #define DUNE_COMMON_PROXYMEMBERACCESS_HH 12 #include <type_traits> 22 struct member_access_proxy_holder
26 member_access_proxy_holder(T&& t)
32 const T* operator->()
const 78 pointer_or_proxy_holder
89 inline typename std::enable_if<
90 std::is_lvalue_reference<T>::value,
91 typename std::add_pointer<
92 typename std::remove_reference<
108 inline typename std::enable_if<
109 !std::is_lvalue_reference<T>::value,
110 Impl::member_access_proxy_holder<T>
114 return {std::forward<T>(target)};
121 #endif // DUNE_COMMON_PROXYMEMBERACCESS_HH Dune namespace.
Definition: alignedallocator.hh:9
pointer_or_proxy_holder handle_proxy_member_access(T &&t)
Transparent support for providing member access to both lvalues and rvalues (temporary proxies)...