boost and Obj-C++ ("id" variables)

Hi, in some headers, boost is using "id" as variable name. This makes is impossible to use those headers in Obj-C (or better Obj-C++) code, because "id" has a special meaning there. I worked around by renaming these id variables in the boost headers for every new boost release (hoping that it will be fixed in the next release), but this is ugly. Now I looked into the boost trac, and found that this problem was reported - and fixed! - multiple times. I can read from the trac that it SHOULD haven been fixed in the latest 1.43.0 (if I read that correct). It's fixed and it's Milestone is 1.43.0. So I downloaded boost 1.43.0 - but the problem is still there. Still "id" variables. How can this be? Doesn't this mean there are serious problems in source code control? Or hasn't the fix just not made its way into 1.43 - where can I read in which version a fix really appears? If I read it right, it should have been fixed in boost 1.37.0: https://svn.boost.org/trac/boost/ticket/2306 https://svn.boost.org/trac/boost/changeset/48751 But appeared again and should now be fixed in boost 1.43.0: https://svn.boost.org/trac/boost/ticket/4132 https://svn.boost.org/trac/boost/ticket/4191 https://svn.boost.org/trac/boost/changeset/61789 Any ideas what happens here? Regards, Mani -- http://mani.de - friendly software iVolume - listen to music hands-free LittleSecrets - the encrypted notepad Sahara - sand in your pocket Watchdog - baffle the curious

in some headers, boost is using "id" as variable name. This makes is impossible to use those headers in Obj-C (or better Obj-C++) code, because "id" has a special meaning there. I worked around by renaming these id variables in the boost headers for every new boost release (hoping that it will be fixed in the next release), but this is ugly. Now I looked into the boost trac, and found that this problem was reported - and fixed! - multiple times. I can read from the trac that it SHOULD haven been fixed in the latest 1.43.0 (if I read that correct). It's fixed and it's Milestone is 1.43.0. So I downloaded boost 1.43.0 - but the problem is still there. Still "id" variables. How can this be? Doesn't this mean there are serious problems in source code control? Or hasn't the fix just not made its way into 1.43 - where can I read in which version a fix really appears?
If I read it right, it should have been fixed in boost 1.37.0: https://svn.boost.org/trac/boost/ticket/2306 https://svn.boost.org/trac/boost/changeset/48751
But appeared again and should now be fixed in boost 1.43.0:
Nod, we don't have anyone regularly testing that platform - after all it's not really C++ is it ? ;-)
https://svn.boost.org/trac/boost/ticket/4132 https://svn.boost.org/trac/boost/ticket/4191 https://svn.boost.org/trac/boost/changeset/61789
Any ideas what happens here?
The fixes to Boost.Regex have only just (last few days) been made to SVN Trunk - much too late for the 1.43 release - they should be in 1.44 though. I've also started a request on the Boost-developer list that we check for variable names that clash with Objective-C++, so far there doesn't seem to be much enthusiasm for this, just exasperation at Apple :-( HTH, John. PS This isn't a problem I can reproduce locally either, which doesn't help matters...
participants (2)
-
John Maddock
-
Manfred Schwind