|
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