[Boost-bugs] [Boost C++ Libraries] #6455: Boost foreach conflicts with Q_FOREACH and moc generation.

Subject: [Boost-bugs] [Boost C++ Libraries] #6455: Boost foreach conflicts with Q_FOREACH and moc generation.
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-01-26 18:20:29


#6455: Boost foreach conflicts with Q_FOREACH and moc generation.
-------------------------------------------------+--------------------------
 Reporter: Chuck Lloyd <chuck.lloyd@…> | Owner: eric_niebler
     Type: Feature Requests | Status: new
Milestone: To Be Determined | Component: foreach
  Version: Boost 1.48.0 | Severity: Problem
 Keywords: Qt foreach |
-------------------------------------------------+--------------------------
 The change to fix Ticket #6131 caused a latent bug to manifest in the
 interaction
 with the Qt header qglobal.h.

 The header replaces all instances of foreach with Q_FOREACH.
 In version 1.47 this replacement was consistent.
 In version 1.48 the move of is_lightweight_proxy<T> and is_noncopyable<T>
 to the
 BOOST_FOREACH namespace causes errors:

 c:\boost\alg_1_48_0_64\boost\foreach.hpp(169): error C2039: 'tag' : is not
 a member of 'boost::Q_FOREACH'
 c:\boost\alg_1_48_0_64\boost\foreach.hpp(169): error C2061: syntax error :
 identifier 'tag'

 A workaround is to turn off this substitution by defining QT_NO_KEYWORDS.

 This will also require replacing all keywords signals and slots with
 Q_SIGNALS and Q_SLOTS.

 It would be nice if these libs could co-exist.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/6455>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:08 UTC