Title
basic_string missing definitions for cbegin / cend / crbegin / crend
Status
c++11
Section
[string.iterators]
Submitter
Jonathan Wakely

Created on 2009-08-14.00:00:00 last changed 161 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

Add to [string.iterators]

iterator       begin();
const_iterator begin() const;
const_iterator cbegin() const;

...

iterator       end();
const_iterator end() const;
const_iterator cend() const;

...

reverse_iterator       rbegin();
const_reverse_iterator rbegin() const;
const_reverse_iterator crbegin() const;

...

reverse_iterator       rend();
const_reverse_iterator rend() const;
const_reverse_iterator crend() const;
Date: 2009-10-29.00:00:00

[ 2009-10-29 Howard: ]

Moved to Tentatively Ready after 5 positive votes on c++std-lib. Removed rationale to mark it NAD. :-)

Date: 2009-10-28.00:00:00

[ 2009-10-28 Alisdair disagrees: ]

I'm going to have to speak up as the dissenting voice.

I agree the issue could be handled editorially, and that would be my preference if Pete feels this is appropriate. Failing that, I really think this issue should be accepted and moved to ready. The other begin/end functions all have a semantic definition for this template, and it is confusing if a small few are missing.

I agree that an alternative would be to strike all the definitions for begin/end/rbegin/rend and defer completely to the requirements tables in clause 23. I think that might be confusing without a forward reference though, as those tables are defined in a later clause than the basic_string template itself. If someone wants to pursue this I would support it, but recommend it as a separate issue.

So my preference is strongly to move Ready over NAD, and a stronger preference for NAD Editorial if Pete is happy to make these changes.

Date: 2009-10-28.00:00:00

[ 2009-10-28 Howard: ]

Moved to Tentatively NAD after 5 positive votes on c++std-lib. Added rationale.

Date: 2009-08-14.00:00:00

Unlike the containers in clause 23, basic_string has definitions for begin() and end(), but these have not been updated to include cbegin, cend, crbegin and crend.

History
Date User Action Args
2011-08-23 20:07:26adminsetstatus: wp -> c++11
2010-10-21 18:28:33adminsetmessages: + msg1085
2010-10-21 18:28:33adminsetmessages: + msg1084
2010-10-21 18:28:33adminsetmessages: + msg1083
2010-10-21 18:28:33adminsetmessages: + msg1082
2009-08-14 00:00:00admincreate