std::codecvt<InternT,ExternT,StateT>:: unshift, do_unshift
|
Definiert in Header
<locale>
|
||
|
public
:
result unshift
(
StateT
&
state, ExternT
*
to, ExternT
*
to_end,
|
(1) | |
|
protected
:
virtual
result do_unshift
(
StateT
&
state, ExternT
*
to, ExternT
*
to_end,
|
(2) | |
do_unshift
der am stärksten abgeleiteten Klasse auf.
codecvt
-Facette repräsentierte Kodierung zustandsabhängig ist und
state
einen Konvertierungszustand darstellt, der nicht der anfängliche Schaltzustand ist, werden die Zeichen geschrieben, die notwendig sind, um zum anfänglichen Schaltzustand zurückzukehren. Die Zeichen werden in ein Zeichenarray geschrieben, dessen erstes Element durch
to
gezeigt wird. Es werden nicht mehr als
to_end
-
to
Zeichen geschrieben. Der Parameter
to_next
wird aktualisiert, um auf das Zeichen nach dem letzten geschriebenen Zeichen zu zeigen.
Inhaltsverzeichnis |
Rückgabewert
Ein Wert vom Typ std::codecvt_base::result , der den Erfolgsstatus wie folgt anzeigt:
ok
|
alle notwendigen Zeichen wurden geschrieben. state repräsentiert nun den initialen Schaltzustand |
partial
|
nicht genügend Platz im Ausgabepuffer. to_next == to_end |
error
|
ein nicht spezifizierter Fehler ist aufgetreten |
noconv
|
die Kodierung ist zustandsunabhängig, keine Abschlusssequenz erforderlich |
Hinweise
Diese Funktion wird aufgerufen von std::basic_filebuf::close() und in anderen Situationen, wenn eine zustandsabhängige Multibyte-Zeichensequenz abgeschlossen wird.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 305 | C++98 |
std::
codecvt
<
wchar_t
,
char
,
std::
mbstate_t
>
::
do_unshift
durfte kein Zeichen schreiben |
nicht erforderlich |
| LWG 380 | C++98 |
die Bedeutung von
partial
war 'mehr Zeichen müssen
zur Vervollständigung bereitgestellt werden', aber es wird kein Zeichen bereitgestellt |
korrigiert zur Angabe von
unzureichendem Pufferplatz |
| LWG 381 | C++98 |
state
musste nicht gültig sein, und
error wurde zurückgegeben, wenn state ungültig war |
state
muss gültig sein, und
die Rückgabe von error zeigt einen Fehler an |
| LWG 664 | C++98 |
std::
codecvt
<
char
,
char
,
std::
mbstate_t
>
::
do_unshift
durfte kein Zeichen schreiben |
nicht erforderlich |
| LWG 665 | C++98 |
std::
codecvt
<
char
,
char
,
std::
mbstate_t
>
::
do_unshift
musste noconv zurückgeben |
nicht erforderlich |
Siehe auch
|
wandelt ein Breitzeichen in seine Multibyte-Darstellung um, unter Berücksichtigung des Zustands
(Funktion) |
|
|
[virtual]
|
konvertiert eine Zeichenkette von
InternT
zu
ExternT
, beispielsweise beim Schreiben in eine Datei
(geschützte virtuelle Member-Funktion) |