This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TC1 status.
75. Contradiction incodecvt::length
's argument types
Section: 28.3.4.2.5 [locale.codecvt] Status: TC1 Submitter: Matt Austern Opened: 1998-09-18 Last modified: 2023-03-29
Priority: Not Prioritized
View all other issues in [locale.codecvt].
View all issues with TC1 status.
Discussion:
The class synopses for classes codecvt<>
(22.2.1.5) and codecvt_byname<>
(22.2.1.6) say that the first parameter of the member functions length
and do_length
is of type const stateT&
. The member function descriptions, however (22.2.1.5.1, paragraph 6; 22.2.1.5.2, paragraph 9) say that the type is stateT&
. Either the synopsis or the summary must be changed.
If (as I believe) the member function descriptions are correct, then we must also add text saying how do_length
changes its stateT
argument.
Proposed resolution:
In 28.3.4.2.5 [locale.codecvt], and also in 28.3.4.2.6 [locale.codecvt.byname], change the stateT
argument type on both member length()
and member do_length()
from
const stateT&
to
stateT&
In 28.3.4.2.5.3 [locale.codecvt.virtuals], add to the definition for member do_length
a paragraph:
Effects: The effect on the
state
argument is ``as if'' it calleddo_in(state, from, from_end, from, to, to+max, to)
forto
pointing to a buffer of at leastmax
elements.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4