Boost logo

Boost :

Subject: Re: [boost] [static_if] Is there interest in a `static if` emulation library?
From: Sebastian Redl (sebastian.redl_at_[hidden])
Date: 2014-09-02 08:08:50


On 02 Sep 2014, at 8:58, Roland Bock <rbock_at_[hidden]> 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>>,
      proxy_nodot<Policy>>;

template <typename Policy>
class proxy : public proxy_detail::proxy_base_t<Policy> {

};

Sebastian


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk