Boost logo

Boost :

Subject: Re: [boost] [MPL][vector] Is there interest in mpl::vector using variadic templates?
From: paul (pfultz2_at_[hidden])
Date: 2017-03-02 20:55:12


On Wed, 2017-03-01 at 21:56 +0300, Antony Polukhin via Boost wrote:
> 2017-02-21 13:52 GMT+03:00 Михаил Максимов via Boost <boost_at_lists.boo
> st.org>:
> >
> > Dear community,
> >
> > I've recently started contributing to boost::variant. To speed up
> > variant's
> > 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 are many C++ libraries and code that use MPL. Those libraries
> can not switch from MPL to Metal or Hana because:
> * they have to be usable in C++98/C++03 and C++11
> * they have a huge code base that can not be simply migrated to new
> library
> * they depend on third party libraries that use MPL and need the
> ability to interact with those libraries
>
> Moreover, making MPL variadic will not just speed up compilation, but
> also will:
> * reduce executable size and improve startup times if MPL structure
> is
> part of an exported entity
> * improve runtime speed if MPL structure is part of an entity that is
> used in operations involving typeid()
>
> So please, continue the work and make a pull request.

I wonder if instead an MPL implementation could be written with a Metal
backend for newer compilers and use the legacy MPL for C++03 compiler.
I thought Bruno was developing something like that at one point. So
building off of that could be useful. Although, Metal is not in boost
yet, hopefully it will be soon.

Paul


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