Edward Diener wrote:
The right thing would be for the sort library to change its boost::sort namespace name to something else, like boost::sortlib, so as not to conflict with range's boost::sort algorithm. In general there should be no boost:: namespace names with the same name as a std:: algorithm as this will conflict with range's mimicking the standard algorithms with a range instead of iterators.
This made sense in the past when we put everything in boost:: but I'm not sure it makes sense today. Our current de-facto policy is one namespace per library matching its name, and nothing else in boost::. This is the only approach that scales. So I'd say that it's Range that needs to yield rather than Sort (which does everything by the book).