std::codecvt<InternT,ExternT,StateT>:: unshift, do_unshift
|
Défini dans l'en-tête
<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
de la classe la plus dérivée.
codecvt
dépend de l'état, et que
state
représente un état de conversion qui n'est pas l'état de décalage initial, écrit les caractères nécessaires pour revenir à l'état de décalage initial. Les caractères sont écrits dans un tableau de caractères dont le premier élément est pointé par
to
. Pas plus de
to_end
-
to
caractères sont écrits. Le paramètre
to_next
est mis à jour pour pointer juste après le dernier caractère écrit.
Table des matières |
Valeur de retour
Une valeur de type std::codecvt_base::result , indiquant le statut de réussite comme suit :
ok
|
tous les caractères nécessaires ont été écrits. state représente maintenant l'état de décalage initial |
partial
|
espace insuffisant dans le tampon de sortie. to_next == to_end |
error
|
une erreur non spécifiée s'est produite |
noconv
|
l'encodage n'est pas dépendant de l'état, aucune séquence de terminaison nécessaire |
Notes
Cette fonction est appelée par std::basic_filebuf::close() et dans d'autres situations lors de la finalisation d'une séquence de caractères multioctets dépendante de l'état.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 305 | C++98 |
std::
codecvt
<
wchar_t
,
char
,
std::
mbstate_t
>
::
do_unshift
devait ne pas écrire de caractère |
non requis |
| LWG 380 | C++98 |
la signification du retour
partial
était 'plus de caractères doivent
être fournis pour compléter la terminaison', mais aucun caractère n'est fourni |
corrigé pour indiquer un
espace tampon insuffisant |
| LWG 381 | C++98 |
state
n'était pas requis d'être valide, et
error est retourné si state est invalide |
state
doit être valide, et
retourner error indique une erreur |
| LWG 664 | C++98 |
std::
codecvt
<
char
,
char
,
std::
mbstate_t
>
::
do_unshift
devait ne pas écrire de caractère |
non requis |
| LWG 665 | C++98 |
std::
codecvt
<
char
,
char
,
std::
mbstate_t
>
::
do_unshift
devait retourner noconv |
non requis |
Voir aussi
|
convertit un caractère large en sa représentation multioctet, en tenant compte de l'état
(fonction) |
|
|
[virtual]
|
convertit une chaîne de
InternT
vers
ExternT
, par exemple lors de l'écriture dans un fichier
(fonction membre protégée virtuelle) |