Boost logo

Boost :

Subject: [boost] [MPL][vector] Is there interest in mpl::vector using variadic templates?
From: Михаил Максимов (vigorous.activity_at_[hidden])
Date: 2017-02-21 10:52:40


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:
 1) it passes all mpl/test tests on gcc 4.9 and 6.3
 2) it is decoupled from mpl::vectorN, simultaneously making mpl::vectorN
visible, so libs like Boost.Geometry, which rely on mpl::vectorN compile
nicely
 3) There are several compilation errors during full build on gcc 4.9 and
6.3
 4) I fix problems on mpl/tests stage for clang 3.4 and latest MSVS2017
compiler

Bruno's introduction of new shiny Metal library and Sergey's comment in the
same thread:

> The biggest and most useful feature of "new" TMP libraries is variadic
> templates that increase performance by a really huge factor. The problem
> with MPL is that vector type sequence must derive from vectorN-s, which are
> documented and can be used in template specialization. So it is impossible
> or pointless to remplement mpl::vector in terms of variadic parameters
> because of that. The other problem that I can quickly recall is recursive
> iterator-based approach, which also kills performance.

made me wonder, is there interest in variadic templates implementation? Are
there limitations for it's usefulness, which I did not see?

Regards,
Mike Maximov


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