Subject: Re: [boost] Efficient tuple implementation
From: Agustín K-ballo Bergé (kaballo86_at_[hidden])
Date: 2014-06-12 14:26:22
On 12/06/2014 02:59 p.m., Larry Evans wrote:
> On 06/06/14 21:56, Agustín K-ballo Bergé wrote:
>> On 06/06/2014 11:18 p.m., Louis Dionne wrote:
>>> I recently discovered (or maybe not) a neat trick to implement a
>>> container. The technique has a couple of drawbacks which I will
>>> explain later.
>>> For a real example, you can see my list implementation in Boost.Hana
>>> at .
>>> The idea is to use the capture of the lambda as a fast
>>> struct with the desired members. By passing a function to that
>>> lambda, we
>>> get an access to the unpacked representation of those members and we can
>>> then apply any fast algorithm on parameter packs.
>> We have experimented with lambdas in Spirit.X3 as a way to drastically
>> reduce compile times (although not in the form of tuples),
> Are you referring to the make_opaque mentioned here:
> or something else? If something else, could we have a peek at it
Yes, I was referring to `make_opaque` (and the debate that followed on
IRC). The goal was to hide the excessively long symbol names generated
by a fusion map of expression templates. Then Joel came up with the idea
of representing those maps via ADL instead.
-- Agustín K-ballo Bergé.- http://talesofcpp.fusionfenix.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk