
"David Abrahams" <dave@boost-consulting.com> wrote
"Arkadiy Vertleyb" <vertleyb@hotmail.com> writes:
However BOOST_TYPEOF, although does require user type registration, has an advantage of much nicer syntax. Compare:
result_of<minus_(minus_(int, _1_), _2_)>::type f = 3 - _1 - _2;
with
BOOST_AUTO(f, 3 - _1 - _2);
Yes, of course it does. You don't think the advantages of auto are lost on me, do you?
Inside my library's implementation I'm willing to buy lack of registration with a slightly uglier syntax, because asking people to register types is completely untenable for me.
It would be very nice to have lambda and bind types registered, so that the user at least have a choise.
It's utterly irrelevant to me, since there's no way I'm going to ask users to register their types just so *I* can use typeof.
I didn't realise it's for *your* code. The examples you provided didn't look to me generic enough to belong to a library. I do agree that usage of BOOST_TYPEOF in generic code should be avoided as long as there is a solution with no registration. Regards, Arkadiy