Boost logo

Boost :

Subject: Re: [boost] [MPL] A Proposal
From: Edward Diener (eldiener_at_[hidden])
Date: 2016-02-28 22:48:31


On 2/28/2016 7:13 PM, Andrey Semashev wrote:
> On Mon, Feb 29, 2016 at 2:17 AM, Bruno Dutra <brunocodutra_at_[hidden]> wrote:
>> Dear Community,
>
> [snip]
>
>> My proposal is to make Metal officially into a new revision of Boost.MPL's
>> API, essentially MPL2 as the original proposal by Robert Ramey put it,
>> merging both into one single TMP library. The idea would be to provide a
>> thin proxy for the current Boost.MPL API which would have two backends
>> configurable by preprocessor switches: the original implementation and a
>> another one based on Metal.
>
> I don't think it needs to be controlled with preprocessor switches. In
> fact, it's best to avoid config macros as much as possible because it
> complicates the use of the library in other libraries.

I disagree with this. Simply because you are compiling with c++11 on up
will not necessarily mean that you want to use the Metal additions to
Boost.MPL rather than the current Boost.MPL. Certainly the programmer
should have a choice even when C++11 is be used in the compilation.

>
> One of the reasons for using Boost.MPL is to keep the code compatible
> with C++03. I assume, with your proposed solution this compatibility
> will be preserved, won't it? If so, you could branch the
> implementation based on the language version (or rather, the set of
> enabled/supported C++11 features).
>
> If you don't plan to keep the code compatible with C++03 then I'd
> rather see Boost.Metal as a completely separate library and Boost.MPL
> untouched.
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>


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