On 2014-09-02 14:08, Sebastian Redl wrote:
On 02 Sep 2014, at 8:58, Roland Bock
wrote: On 2014-09-02 03:27, Lorenzo Caminiti wrote:
You could use inheritance. If the condition is true, you inherit from a struct that provides the data member, otherwise you inherit from a struct that does not. Ugly, I know, but it works if inheritance is an option for you. That’s what I’m doing, but as you say, it is ugly:
template <typename Policy> using proxy_base_t = std::conditional_t< has(Policy::requirements, features::raw_access), proxy_raw_access
, proxy_nodot<Policy>>; template <typename Policy> class proxy : public proxy_detail::proxy_base_t<Policy> { … };
Sebastian
Yep, same here :-) FYI: I might host an open session to discuss mixins at CppCon on Monday (not formally confirmed yet). At least the way I envision them, they would allow adding members without inheritance. Roland