
On Jan 16, 2009, at 8:05 PM, siliconman wrote:
In article <E3FFB208-D69C-407B-B536-DC66617981A3@gmail.com>, Daniel Walker <daniel.j.walker@gmail.com> wrote:
When did codegear begin decltype support? The current codegear config header configures Boost to assume decltype for all versions, which seems suspect.
0x610 which is the first version that has __CODEGEARC__ defined. anything earlier would be the old __BORLANDC_ defines.
Ah, I can't keep track of what's what anymore, all this rebranding and what not. ;)
If codegear supports decltype well enough to configure Boost to use it, but not well enough to enable a C++0x-style result_of implementation, we could revert to the old result_of for the specific codegear version until someone finds a workaround or codegear's C++0x support matures. I don't have access to codegear myself.
I'm willing to try out any patches.
OK. Patch attached. Actually, the decltype-based result_of implementation comes from a patch I submit and Doug applied last year. https://svn.boost.org/trac/boost/ticket/862 I went ahead and put my name on it even though this is mostly Doug's idea and all I did was code it up, write the test cases, update the documentation, and I suppose now, I'm attempting to support it as best I can. :) The patch adds a new macro. As always, compilers that cannot support result_of at all get BOOST_NO_RESULT_OF defined. But now, compilers that cannot support this implementation of the ISO draft specification of result_of get BOOST_NO_ISO_RESULT_OF defined. CodeGear tested at 0x610 is in the second camp but not the first. See the update documentation in utility.htm. Daniel Walker