Subject: Re: [boost] [GSoC] A C++11 enabled TMP library (accepted)
From: Louis Dionne (ldionne.2_at_[hidden])
Date: 2014-04-22 09:42:45
Edward Diener <eldiener <at> tropicsoft.com> writes:
> Please consider making the your library as close as possible usage-wise
> to the current TMP library so as to make the transition for all the
> other libraries which use TMP as easy as possible.
Some of the core features of the (current) new library require diverging
from the MPL in the following ways:
- No more iterators. They do not bring anything performance-wise and they
make the implementation of sequences considerably more complicated.
- Laziness. This is a key point to improve expressiveness and could
also improve performance in some use cases. I'm still investigating
on that matter though.
- No more implicit lambda expressions. These interact poorly, leading to
counterintuitive behavior as in . Usage of aliases could make the
problem even worse.
There is more, but that is what comes to mind right now. Note that I did
reimplement a (rather large) subset of the MPL in a backward compatible
fashion before I came to these conclusions.
What is definitely possible is to make MPL data types (vector, int_, etc..)
compatible with the new library. It should also be possible to make data types
from the new library compatible with the old algorithms. That way, you could
modernize some metafunctions without having to rewrite the whole metaprogram.
I would like to know what other people think about this; I'm making a
Thanks for your input,
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk