
On 08/03/12 13:46, Steven Watanabe wrote:
AMDG
On 08/03/2012 09:22 AM, Larry Evans wrote:
Why couldn't the BOOST_TYPEOF macro be defined to simply use the new keyword, decltype, if it's available? I assume the macro, BOOST_HAS_DECLTYPE, indicates whether it is available.
I assume Boost.Typeof will eventually be updated to use decltype.
And if decltype not available, why couldn't it use the conditional expression method described here:
http://www.artima.com/cppsource/foreach2.html
I would think that would be simpler and more portable.
I don't see how it's possible to implement BOOST_TYPEOF this way.
On page: http://www.artima.com/cppsource/foreach2.html there's this: If only there were a way to get the type of an expression without evaluating the expression. There is! The unique properties of the conditional operator allow us to sidestep the issue entirely. The ENCODED_TYPEOF macro defined below encodes the type of an expression without evaluating it. Read on to see how it works. IIUC, the purpose of decltype is to "get the type of an expression without evaluating the expression"; hence, if the current BOOST_TYPEOF can be implemented with decltype, and the above quote from foreach2.html is correct, then the current BOOST_TYPEOF can be implemented with the method described in the foreach2.html page. Am I missing something? -regards, Larry