
On 21.02.2017 12:53, Hans Dembinski via Boost wrote:
I suppose my big question is this: can't you just merge your ideas/improvements into boost::mpl? With ifdefs you could enable C++14 features like templated aliases when they are available. Even more so, it should be possible to merge your speed improvements into boost::mpl.
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. Personally, I found it better from both performance and code sanity sides to extract types from mpl::vector to variadic sequence via partial template specialization (with mpl::vectorN<Ts...> using boost PP) and then pass variadic type sequence to whatever TMP library I'm using (brigand to be specific, but I think its unrelated in this case).
Best regards, Hans
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- -------- Mitsyn Sergey --- Это сообщение проверено на вирусы антивирусом Avast. https://www.avast.com/antivirus