
On 07/23/2011 05:13 PM, Dave Abrahams wrote:
on Fri Jul 22 2011, Samuel Debionne<debionne-AT-hydrowide.com> wrote:
Hello everyone, Here is an example code that motivates my question :
<snip>
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 propagate the constness.