
On Fri, Oct 21, 2011 at 4:57 PM, pavel <paul.cpprules@gmail.com> wrote:
Olaf wrote on Friday, October 21, 2011 at 0:34:29:
On Thu, Oct 20, 2011 at 8:15 PM, pavel <paul.cpprules@gmail.com> wrote:
sorry, i misread the initial message
if the definition of size is how many times one need to ++begin to reach end then it's clearly must be something like size_t
but if size is (end - begin) for random access iterators it well may be a signed integer, e.g. ptrdiff_t
Why? Are you trying to imply end - begin can be negative for a valid range?
its natural for me that the result of (rand_iter - rand_iter) is returned without type conversion, which is a signed integer
Isn't that just an implementation detail? The interface should not be driven by implementation details.
so, to convert or not to convert to unsigned is then the user's responsibility
but if you state that in any way size() is the number of (++begin)'s to reach end, then regardless of the implementation it may return size_t (involving type conversion in case of random access iterators)
it's mere a "politics" question, a matter of definition of size()
-- Pavel P.S. if you notice a grammar mistake or weird phrasing in my message please point it out
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Olaf