
----- Original Message ----- From: "Mathieu -" <ptr.jetable@gmail.com> To: <boost@lists.boost.org> Sent: Sunday, May 16, 2010 12:46 PM Subject: Re: [boost] [Review] Formal Review: Boost.Move
On 16 May 2010 12:24, vicente.botet <vicente.botet@wanadoo.fr> wrote:
* BTW, why BOOST_RV_REF_2_TEMPL_ARGS and BOOST_RV_REF_3_TEMPL_ARGS are needed?
Consider what the preprocessor would make of BOOST_RV_REF( tmpl< T, U > )...oops! The preprocessor thinks you're passing 2 parameters to BOOST_RV_REF :(
Sorry, I have not tried this, but does BOOST_RV_REF(( tmpl< T, U > )) fails?
That's what I tried ( unfortunately AFTER posting :/), but it doesn't work with types because the macro expand to something like :
::boost::rv<(tmpl<T,U>)> which is an invalid template argument..
:( I have no tested it neither before posting. We have then the possibility to write BOOST_RV_REF_2_TEMPL_ARGS(Tmpl, A1, A2) or typename rvalue_ref<Tmpl<A1,A2> >::type I prefer to write code that doesn't use macros as far as it is possible. Best, Vicente