Boost logo

Boost :

Subject: Re: [boost] traits classes vs. metafunctions
From: Dave Abrahams (dave_at_[hidden])
Date: 2013-03-31 18:45:45

on Sun Mar 31 2013, Jonathan Wakely <> wrote:

> On 31 March 2013 18:31, Stefan Strasser wrote:
>> I don't understand why they didn't get rid of the "metafunction" concept as
>> we use it today entirely, but introduce it into the official standard via
>> type traits.
>> E.g. via a "constexpr" that can return types, or some other native syntax
>> for metafunctions.
> And I don't understand why people expect the standard to emerge
> perfectly formed from some magic source of an ideal language.
> This stuff doesn't just happen by magic, someone has to propose it and
> the people involved have limited time and resources.
> There are good reasons for the committee to standardise existing
> practice instead of trying to invent entirely new tools that noone has
> any experience with. The <type_traits> header we have today is
> largely based on ideas that got proposed because they were known to
> work and were useful in the real world. When <type_traits> was added
> to TR1 constexpr didn't exist. When constexpr was added there were no
> working implementations to experiment with.

And the specification was—and probably still is—correspondingly broken.
That's what usually happens when you standardize something that isn't

Dave Abrahams

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