Subject: Re: [boost] [MPL][vector] Is there interest in mpl::vector using variadic templates?
From: Larry Evans (cppljevans_at_[hidden])
Date: 2017-03-02 17:05:39
On 03/01/2017 05:07 PM, Larry Evans via Boost wrote:
> On 03/01/2017 12:56 PM, Antony Polukhin via Boost wrote:
>> 2017-02-21 13:52 GMT+03:00 ÐÐ¸Ñ Ð°Ð¸Ð» ÐÐ°ÐºÑÐ¸Ð¼Ð¾Ð² via Boost
>>> Dear community,
>>> I've recently started contributing to boost::variant. To speed up
>>> compilation I'm implementing mpl::vector on variadic templates. For now
>>> status of new vector implementation is:
>>> made me wonder, is there interest in variadic templates
>>> implementation? Are
>>> there limitations for it's usefulness, which I did not see?
>> I'm very interested in patching MPL to be able to use variadic templates.
> There was a variadic template mpl try from 7 years ago:
> Maybe it could give you some ideas. OTOH, maybe it's *too* old :(
One problem with the above cppljevans mpl is there's no at.hpp.
Instead, the non-variadic boost/mpl/at.hpp was used.
The reason no variadic at was created was because, AFAICT, there was no
non-recursive method for picking the I-th element from T... , and, IIUC,
recursive templates cause compile-time slow downs.
Since then, I've stumbled across other methods as shown in the attached
(where, type_at is used instead of at).
In addition there have been language proposals to do essentially the
I don't know of any compiler's that implement those "tuple slicing"
operations; however, if someone does know of some, I'd like
to see their use as an alternative to the existing mpl::at.
Mike, if you find such an tuple-slicing compiler, maybe in your
variadic mpl implementation you could provide a flag which uses
that or one of the methods in the type_at.hpp attachment.
Then, you could profile them to demonstrate which is best :)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk