
On 11/16/2011 1:41 PM, Joaquin M Lopez Munoz wrote:
In Boost.Foreach docs, the user is informed about the possibility to do
#define foreach BOOST_FOREACH
so as to improve readability, provided there's no collisions in her code with the name 'foreach'. I think this advise is extremely unfortunate, because the collision happens right within Boost.Foreach code itself, as it uses the namespace boost::foreach internally. This results in problems like the one described in
http://lists.boost.org/boost-users/2011/11/71762.php
I think the only viable fix is to rename boost::foreach as boost::foreach_ or something and assume backwards incompatibility (as for Boost.MultiIndex, I'd have no problem in syncing up), unless someone figures out a smarter workaround.
A truly awful problem entirely of my own making. And that's the worst kind. I've found an equally awful workaround that is (I believe) compatibility-preserving: https://svn.boost.org/trac/boost/changeset/75540 -- Eric Niebler BoostPro Computing http://www.boostpro.com