
On Tue, May 31, 2011 at 5:59 PM, lcaminiti <lorcaminiti@gmail.com> wrote:
Boost.Local's BOOST_IDENTITY_TYPE can be used to handle un-parenthesized commas within macro parameters (see http://svn.boost.org/svn/boost/sandbox/local/boost/utility/identity.hpp).
Ah, so for a user to specify a return type of array< int, 2 >, they'd do: (BOOST_IDENTITY_TYPE((array<int,2>)))(function_name)(params) cv-qualifiers? That's great. You seem to be putting a lot of effort into supporting compilers both with and without variadics. The only problem I can think of is that the IDENTITY_TYPE kind of trick doesn't work for function parameters where the template argument is to be automatically deduced. For that case, I think variadics are unfortunately necessary. -- -Matt Calabrese