Boost logo

Boost :

Subject: [boost] [variant] Warning: variadic templates in boost::variant
From: Antony Polukhin (antoshkka_at_[hidden])
Date: 2013-12-09 03:54:44


Development version of Boost.Variant library now uses C++11 variadic
templates when possible.

This leads to more compact binaries, more readable compiler error messages
and faster compilation times.

However this:
* breaks ABI (now variant is declared as `template <typename T0,
typename... TN> class variant`)
* breaks user code that was explicitly using BOOST_VARIANT_LIMIT_TYPES

Code that was using BOOST_VARIANT_ENUM_PARAMS and
BOOST_VARIANT_ENUM_SHIFTED_PARAMS macro *must* work correctly without any
modifications.

To disable variadic templates usage in variant define
BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES.

When all the tests will pass successfully changes will be merged to master
branch, so there is a high chance that variadic templates will be supported
by Boost 1.56.

In case of appearance of hard to fix variadic templates errors in Boost
libraries dependent on Boost.Variant - report them in this letter and I'll
help in resolving issues.

-- 
Best regards,
Antony Polukhin

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