Boost logo

Boost :

Subject: Re: [boost] [MPL lite or MPL 2] A modest proposal
From: Robert Ramey (ramey_at_[hidden])
Date: 2015-03-06 13:13:01

Bruno Dutra wrote
> 2015-03-05 12:04 GMT-03:00, Robert Ramey <

> ramey@

> >:
>> But the implementation could take advantage
>> of modern C++ and wouldn't be required to be compatible with any
>> compiler which doesn't support C++11+. So presumable this
>> would be much easier than the current MPL
> I do understand dropping support to ancient defective compilers, but
> why should it also deny support to older language standards on
> compilers that do comply with them? No doubt it should benefit from
> post C++11 features, notably variadic templates, but I don't see why
> it shouldn't emulate variadics on C++98/03 setups, just like it
> already does today. Please note the difference between old deffective
> implementations from valid implementations of older standards.

My proposal is a response to suggestions that we might address
the mpl maintenance problem by eliminating support for older compilers
and standards. In my opinion, the suggestion has merit in that writing mpl
using C++11 features would result in something much easier to maintain
and understand. Of course this would not be compatible with C++03 compilers.

The only way to have it both ways is to leave the current MPL as it is
and add a separately maintained "MPL Lite" or "MPL.core" or whatever
which would be C++11+ only. For those who are concerned about the
maintainability issue with the current MPL - and actually would be
in doing something about it - I believe that this would be a good way

Of course the original MPL would be around as long as anyone needs it.

This is my attempt to suggest something which pleases everyone.

View this message in context:
Sent from the Boost - Dev mailing list archive at

Boost list run by bdawes at, gregod at, cpdaniel at, john at