
On Fri, Feb 04, 2005 at 09:53:02AM -0500, David Abrahams wrote:
Aleksey Gurtovoy <agurtovoy@meta-comm.com> writes:
in some sence operator*() is provided by operator[]()... I guess random access iterators will fit must use cases like strings. But OTOH, I don't see how two functions (let's scrap advance) can hurt at all, not even in a standardization context.
To put it bluntly, my point is that they are somebody's pet features (not necessarily yours, mind you), as opposite to functionality to support widely accepted, idiomatic usage. 'iterator_range' is too important to let it get greased with pet features.
Seconded. Also, these operators are unsuitable for use in many generic contexts.
Furthermore, can do all the same things with free functions that don't intrude on the purity of the range "concept". If you really like these idioms,
using namespace range_operators;
could be enough to make them available.
I absolutely agree with the above. I wouldn't be able to express it better. iterator_range was designed as a minimal utility class from the beginning. I consider these operations as a unnecessary feature bloat. The should not be there. Regards, Pavol.