
Thomas Witt <witt <at> acm.org> writes:
David Abrahams wrote:
Not if you buy Peter Dimov's argument that many customization points become "public domain" and are no longer the property of any library. Read that part of the thread carefully. Once people start supplying begin() hooks, other library authors may start making interfaces that work with Boost.Range compatible types.
I've read through his argument at least twice in the past. That being said I might still not get the point. I do agree with the names becomming public domain. What I disagree with is that names like boost_range_begin are suitable for this. They will likely always be warts in an interface.
I feel the same way. boost_range_begin() is gonna look like a wart in the interface. Anyway, I've given up on the idea of having backwards compatibility between boost.range and the proposed std version. If we fix ADL for C++0x, I would favor what the proposal currently says (I think the fact that you can forget using std::begin; is of minor importance). If we don't fix ADL in C++0x, then we might consider (1) ADL customization points via range_begin()/range_end()/range_size() or (2) go for a class like range_traits<T>::begin()...ect. -Thorsten