
At 4:24 PM +0000 8/9/07, Alexander Nasonov wrote:
My only (mild) quibble is the decision to use a PP sequence for the arguments. I might prefer that this library be forward looking and assume variadic macros, with backward compatibility variants that use the PP sequence technique for use by those who need to support compilers that don't support variadic macros.
How would you implement dispatching if there is only one argument? E.g. BOOST_SCOPE_EXIT(i) vs. BOOST_SCOPE_EXIT( (i) ). AFAIK, there is no equivalent to mpl::is_sequence in PP.
I wouldn't. When I said "backward compatibility variants" I meant macros with different names, with the "good" names used by the variadic versions. So something like BOOST_SCOPE_EXIT_PPSEQ (with no preference intended for that specific naming convention).