Boost logo

Boost :

Subject: Re: [boost] C++11 Metaprogramming
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2012-04-05 19:07:35


On 05/04/12 15:58, Dave Abrahams wrote:
>
> on Thu Apr 05 2012, Andrzej Krzemienski<akrzemi1-AT-gmail.com> wrote:
>
>>> I am on the C++Now 2012 schedule giving a talk on metaprogramming in
>>> C++11, which is really just supposed to be an overview of the state of
>>> the art. I am just at the beginnings of my research for this
>>> presentation, having learned a few things and done a few experiments,
>>> and it seemed to me foolish not to ask the Boost community for its
>>> insights. I'm sure y'all have come up with many neat tricks and
>>> techniques. If you'd care to share them here, that would be much
>>> appreciated.
>>
>> For the end users of meta-programming library (at least those interested in
>> type transformations), I believe that alias templates offer a significant
>> improvement to the interface:
>> http://akrzemi1.wordpress.com/2012/03/19/meta-functions-in-c11/
>
> Yeah... I started doing a bunch of that, but I am not yet convinced it's
> an overall improvement. One thing you emphatically *don't* get with
> that formulation is lazy evaluation. remove_pointer<int> is valid until
> you instantiate it but RemovePointer<int> is not, and the former is
> often quite useful.

For exactly those reasons, I do not find that approach useful.

Functional programming in a meta-programming context often involves
lambdas or delayed evaluation of some sort.


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