
Sebastian Redl wrote:
John Bytheway wrote:
I'd suggest a simpler (from the user perspective) solution would be to have BOOST_FOREACH paste __LINE__ into its variable names. Then the problem would only occur if nested BOOST_FOREACHs were used on the same line. Asking users not to do that seems a lot more reasonable than asking them not to use -Wshadow or not to use nested BOOST_FOREACHs at all.
I'm pretty sure you'd need a special variant for MS compilers, since their __LINE__ expansion is not cleanly pasteable. (You can use their counting macro instead.)
The line macro is a great idea, definitely far simpler than what I was suggesting. However, I'm not quite familiar with the MS counting macro... Dustin -- Innovation is just a problem away