This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of CD1 status.
Section: 30.4.2.5.3 [locale.codecvt.virtuals] Status: CD1 Submitter: Thomas Plum Opened: 2007-04-16 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [locale.codecvt.virtuals].
View all issues with CD1 status.
Discussion:
30.4.2.5.3 [locale.codecvt.virtuals], para 7 says (regarding do_unshift):
Effects: Places characters starting at to that should be appended to terminate a sequence when the current stateT is given by state.237) Stores no more than (to_limit - to) destination elements, and leaves the to_next pointer pointing one beyond the last element successfully stored. codecvt<char, char, mbstate_t> stores no characters.
The following objection has been raised:
Since the C++ Standard permits a nontrivial conversion for the required instantiations of codecvt, it is overly restrictive to say that do_unshift must store no characters and return noconv.
[Plum ref _222152Y50]
Proposed resolution:
Change 30.4.2.5.3 [locale.codecvt.virtuals], p7:
Effects: Places characters starting at to that should be appended to terminate a sequence when the current stateT is given by state.237) Stores no more than (to_limit -to) destination elements, and leaves the to_next pointer pointing one beyond the last element successfully stored.
codecvt<char, char, mbstate_t> stores no characters.