
"David Abrahams" <dave@boost-consulting.com> wrote in message news:uk6uvle5e.fsf@boost-consulting.com...
"Thorsten Ottosen" <nesotto@cs.auc.dk> writes:
In the pre-redmond mailing Walter Brown discusses the possibility of adding these members to standard container classes:
const_iterator cbegin(); const_iterator cend(); const_reverse_iterator crbegin(); const_reverse_iterator crbegin();
The motiviation is that we want to be able to say explicitly "give me a const iterator" without doing ugly casts. IMO a sound idea.
Given the framework in boost.range these would be absolutely *trivial* to add.
1st vote: for or against adding these?
2nd vote: which naming scheme to use:
a: cbegin(), cr_begin()
b: const_begin(); const_rbegin();
The motivation for chosing the latter could be that "cr" contracttions become harder to read.
Let me know what ya think.
I wonder whether it's better to say
cbegin(x)
or
begin(as_const(x))
The latter is certainly more general.
Would this imply also: begin(as_reverse(x)) begin(as_reverse(as_const(x))) begin(as_const(as_reverse(x))) Jeff F