Hi Szymon,
On 16 November 2011 10:40, Szymon Gatner
I realize this is not really a multi-index bug but after I updated from 1.47 to 1.48 my code no longer compiles due to this code:
template
inline boost::mpl::true_* boost_foreach_is_noncopyable( boost::multi_index::detail::sequenced_index *&, boost::foreach::tag) { return 0; }
...snip...
this happens because as suggested in boost.foreach docs I have this earlier:
#define foreach BOOST_FOREACH
I'm not certain whether there's anything under-the-hood of multi_index that could do this, but since #define foreach BOOST_FOREACH was just an example, and the user could define any PP token to expand as such, a change to multi_index could only ever work around that one example. I see a couple of possibilities for you: either #undef foreach before the above code, then #define it again afterwards, or use a name other than 'foreach'. Unfortunately (or not) this is just the way PP macros work, and why avoiding them is desirable - they are not namespaceable unlike real types & names. --rob -- Rob Desbois Eml: rob.desbois@gmail.com Blog: http://theotherbranch.wordpress.com/ Tel: 07946 705987 "I disapprove of what you say, but I’ll defend to the death your right to say it", Voltaire