Boost logo

Boost Users :

Subject: Re: [Boost-users] ambiguity between std::begin/end and boost::begin/end in gcc 4.6
From: Michel MORIN (mimomorin_at_[hidden])
Date: 2010-12-27 10:37:56


Neil Groves wrote:
> You might get a quicker response from the GCC team, but I'm happy to look
> into this issue if you provide the exact version of GCC and library version
> you are using. It will, of course, take me a while since I'll have to setup
> the compiler and environment.
>
> You might want to take a look at the relevant standard library, or the
> compiler implementation of the new 'for' syntax. I suspect there might be an
> unqualified call to begin() and/or end().

For this issue, there is some information in the following thread:
(a patch and a test case are also provided in the thread.)
http://article.gmane.org/gmane.comp.lib.boost.devel/211863

If we are allowed to break existing codes that rely on ADL to find
boost::begin/end,
this issue can be easily resolved by putting boost::begin/end into an
ADL-barrier namespace
and bringing them into namespace boost with a using directive.

Regards,
Michel


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net