Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-05-04 22:36:49


"Peter Dimov" <pdimov_at_[hidden]> writes:

> David Abrahams wrote:
>> "Peter Dimov" <pdimov_at_[hidden]> writes:
>>
>>> Thorsten Ottosen wrote:
>>>> I guess the design could havebeen that way; but we don't say
>>>> container< const T >::iterator to get container<T>::const_iterator.
>>>
>>> Isn't range_iterator<R>::type the iterator type of the range R?
>>
>> Yes, in a world where iterator and const_iterator are distinguished. [...]
>
> My question is to be read as follows:
>
> Is it not the design intent of range_iterator<R>::type to give the iterator
> type of the range R, so that I can write:
>
> template<class R> void f( R & r )
> {
> typename range_iterator<R>::type i = r.begin();
> }
>
> and hence, is it not perfectly logical for it to return C::const_iterator
> for R == C const?
>
> It was meant to support your point.

I know, and I know what you meant. I just wanted to be accurate.
Probably my overly-literal mind at "work" again. Sorry.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk