
David Abrahams wrote:
"Thorsten Ottosen" <nesotto@cs.auc.dk> writes:
"Eric Niebler" <eric@boost-consulting.com> wrote in message news:4242F9E4.4090500@boost-consulting.com... | Thorsten Ottosen wrote:
| says, it suggests an association with the iterator_range<> type. But | also, in my understanding, the Range concept is a bit more inclusive | than merely "iterator ranges". A std container satisfies the Range | concept, doesn't it?
yes.
In what sense is a standard container not an iterator range?
You snipped the part of my message where I explain that: << Consider iterator_range_size(). I could have a container that satisfies the range concept for which .size() is an O(1) operation, but std::distance( .begin(), .end() ) is O(N). What Big-O is suggested by "iterator_range_size()" when applied to one of those contaiers?
My point was, there are range operations that are not necessarily implemented in terms of lower-level operations on iterators, so the name "iterator_range_size()" might be misleading. -- Eric Niebler Boost Consulting www.boost-consulting.com