Boost logo

Boost :

Subject: Re: [boost] [range] Should ranges really propagate constess to the data ?
From: Dave Abrahams (dave_at_[hidden])
Date: 2011-07-25 15:38:07


on Sat Jul 23 2011, Mathias Gaunard <mathias.gaunard-AT-ens-lyon.org> wrote:

> On 07/23/2011 05:13 PM, Dave Abrahams wrote:
>
>> Well, if we want something like std::vector to be a Range, then we have
>> to accept that at least *some* Ranges do propagate constness. And I'm
>> pretty sure that we don't want other Ranges (std::pair<char*,char*>) to
>> propagate constness. So unless the documentation says otherwise, I
>> would assume that the concept doesn't say anything about whether
>> constness is propagated. If you want to write generic Range code you
>> have to account for both cases.
>
> Constness is propagated for containers, yes, but sub_range is not a
> container, it is a view of another range, so it should [not] propagate
> the constness.

Really? Why not?

If the Range concept said that views must not propagate constness, that
would be one thing... but it doesn't, does it?

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

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