Some boost headers use Objective-C keywords

I am using boost 1.49.0. An example of this is boost\local.hpp" which includes "boost\locale\message.hpp" which defines "id" (an Objective-C keyword) as a local variable in one of its inline functions. This causes an issue when boost headers are included in any code that is parsed by the Objective-C compiler and makes it impossible to include some boost headers directly in Objective-C source files. Would be nice if you could avoid using Objective-C keywords in all public headers. Albert

From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Reiche, Albert F (Albert) Sent: Friday, December 28, 2012 5:46 PM To: boost-users@lists.boost.org Subject: [Boost-users] Some boost headers use Objective-C keywords I am using boost 1.49.0. An example of this is boost\local.hpp" which includes "boost\locale\message.hpp" which defines "id" (an Objective-C keyword) as a local variable in one of its inline functions. This causes an issue when boost headers are included in any code that is parsed by the Objective-C compiler and makes it impossible to include some boost headers directly in Objective-C source files. Would be nice if you could avoid using Objective-C keywords in all public headers. This is unfortunate, but I suppose sensible. Would it be useful to prepare a list of these keywords as these are likely to be unknown to most Boost authors who have no knowledge of this non-standard-compliant compiler? http://www.boost.org/doc/libs/1_52_0/libs/config/doc/html/boost_config/guide.... html Perhaps Albert could volunteer ;-) Paul --- Paul A. Bristow, Prizet Farmhouse, Kendal LA8 8AB UK +44 1539 561830 07714330204 pbristow@hetp.u-net.com

On 29/12/12 12:17, Paul A. Bristow wrote:
*From:*boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] *On Behalf Of *Reiche, Albert F (Albert) *Sent:* Friday, December 28, 2012 5:46 PM *To:* boost-users@lists.boost.org *Subject:* [Boost-users] Some boost headers use Objective-C keywords
I am using boost 1.49.0. An example of this is boost\local.hpp" which includes "boost\locale\message.hpp" which defines "id" (an Objective-C keyword) as a local variable in one of its inline functions. This causes an issue when boost headers are included in any code that is parsed by the Objective-C compiler and makes it impossible to include some boost headers directly in Objective-C source files. Would be nice if you could avoid using Objective-C keywords in all public headers.
This is unfortunate, but I suppose sensible.
Would it be useful to prepare a list of these keywords as these are likely to be unknown to most Boost authors who have no knowledge of this non-standard-compliant compiler?
http://www.boost.org/doc/libs/1_52_0/libs/config/doc/html/boost_config/guide...
Perhaps Albert could volunteer ;-)
I'm not sure Objective-C++ compatibility should rate very high on the guideline priority list.

Standard C++ library requires all std::locale facets to have a static member called "id" of type std::locale::id which defines this particular facet uniquly. If "id" is a keyword than Objective C++ can't use std::locale object and its services + it can't use all iostream library. So this "requirement" can't be filled. Regards, Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/
________________________________ From: Paul A. Bristow
To: boost-users@lists.boost.org Sent: Saturday, December 29, 2012 1:17 PM Subject: Re: [Boost-users] Some boost headers use Objective-C keywords From:boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Reiche, Albert F (Albert) Sent: Friday, December 28, 2012 5:46 PM To: boost-users@lists.boost.org Subject: [Boost-users] Some boost headers use Objective-C keywords I am using boost 1.49.0. An example of this is boost\local.hpp" which includes "boost\locale\message.hpp" which defines "id" (an Objective-C keyword) as a local variable in one of its inline functions. This causes an issue when boost headers are included in any code that is parsed by the Objective-C compiler and makes it impossible to include some boost headers directly in Objective-C source files. Would be nice if you could avoid using Objective-C keywords in all public headers. This is unfortunate, but I suppose sensible. Would it be useful to prepare a list of these keywords as these are likely to be unknown to most Boost authors who have no knowledge of this non-standard-compliant compiler? http://www.boost.org/doc/libs/1_52_0/libs/config/doc/html/boost_config/guide... Perhaps Albert could volunteer ;-) Paul --- Paul A. Bristow, Prizet Farmhouse, Kendal LA8 8AB UK +44 1539 561830 07714330204 pbristow@hetp.u-net.com _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of
Artyom Beilis
Sent: Saturday, December 29, 2012 1:21 PM
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] Some boost headers use Objective-C keywords
Standard C++ library requires all std::locale facets to have a static member called "id" of type
std::locale::id which defines
this particular facet uniquly.
If "id" is a keyword than Objective C++ can't use std::locale object and its services + it can't use
all iostream library.
So this "requirement" can't be filled.
Regards,
Artyom Beilis
--------------
CppCMS - C++ Web Framework: http://cppcms.com/
CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/
_____
From: Paul A. Bristow

On 12/28/2012 9:45 AM, Reiche, Albert F (Albert) wrote:
I am using boost 1.49.0. An example of this is boost\local.hpp" which includes "boost\locale\message.hpp" which defines "id" (an Objective-C keyword) as a local variable in one of its inline functions. This causes an issue when boost headers are included in any code that is parsed by the Objective-C compiler and makes it impossible to include some boost headers directly in Objective-C source files. Would be nice if you could avoid using Objective-C keywords in all public headers.
Albert
I believe you need to do something like this: http://lists.apple.com/archives/objc-language/2004/Dec/msg00060.html
participants (5)
-
Artyom Beilis
-
Mathias Gaunard
-
Noah Roberts
-
Paul A. Bristow
-
Reiche, Albert F (Albert)