
AMDG Mathias Gaunard wrote:
Neil Groves wrote:
I thought you could overload begin/end directly and it would get picked up by ADL, but it looks like it's range_begin/range_end. That really should be changed.
I disagree that this should be changed. This arrangement allows qualified calls to boost::begin(x), boost::end(x) to continue to work and find the approriate range_begin(), range_end() functions via argument dependent lookup. If this rationale does not appear correct, then please explain a little further. I would be happy to make the change if I understand that it really would be an improvement.
The proposed system for C++0x uses directly begin/end as customization points picked up by ADL IIRC.
boost::begin could still be used fully qualified and defer to ADL or the basic implemenation, similarly to boost::swap, no?
If there is no overload of begin, the result may be infinite recursion in some cases instead of a compiler error. (although some compilers will emit a warning) In Christ, Steven Watanabe