"Eric Niebler"
Jonathan Turkanis wrote:
Arkadiy Vertleyb wrote:
In this particular case the Boost.Range needs to be fixed to avoid unqualified calls, IMO.
I believe Thorsten deliberately wanted to allow unqualified calls.
Yes, Boost.Range is designed that way. It is an extensible design -- you can range-ify your own type by defining your own begin() and end() and letting ADL find them. So it seems there is no simple work-around for GCC's bizarre ADL rules in this case. We'll need to think of something else.
Well, then I hate to say this, but IMHO this is a problem in the Boost.Range
design :-(
I am not really that familiar with this library, but I assume it has to do
with containers, correct? Assume the following usage (pseudocode)
Range(std::vector