Partager via


codecvt, classe

Classe de modèle qui décrit un objet pouvant servir de facette de paramètres régionaux. Elle peut contrôler les conversions d'une séquence de valeurs utilisées pour encoder des caractères au sein du programme en une séquence de valeurs utilisées pour encoder des caractères en dehors du programme.

template<class CharType, class Byte, class StateType>
    class codecvt : public locale::facet, codecvt_base;

Paramètres

  • CharType
    Type utilisé dans le cadre d'un programme pour encoder des caractères.

  • Byte
    Type utilisé pour encoder des caractères en dehors d'un programme.

  • StateType
    Type qui peut être utilisé pour représenter les états intermédiaires d'une conversion entre types internes et types externes de représentations de caractères.

Notes

La classe de modèle décrit un objet pouvant servir de facette de paramètres régionaux pour contrôler les conversions entre une séquence de valeurs de type CharType et une séquence de valeurs de type Byte. La classe StateType caractérise la transformation. Un objet de la classe StateType stocke toute information d'état nécessaire lors d'une conversion.

L'encodage interne utilise une représentation avec un nombre fixe d'octets par caractère, généralement de type char ou wchar_t.

Comme avec n'importe quelle facette de paramètres régionaux, l'objet statique id possède une valeur stockée initiale de zéro. La première tentative d'accès à sa valeur stockée entraîne le stockage d'une valeur positive unique dansid.

Les versions de modèle de do_in et do_out retournent toujours codecvt_base::noconv.

La bibliothèque C++ standard définit plusieurs spécialisations explicites :

template<>

codecvt<wchar_t, char, mbstate_t>

effectue des conversions entre des séquences wchar_t et char.

template<>

codecvt<char16_t, char, mbstate_t>

effectue des conversions entre des séquences char16_t encodées au format UTF-16 et des séquences char encodées au format UTF-8.

template<>

codecvt<char32_t, char, mbstate_t>

effectue des conversions entre des séquences char32_t encodées au format UTF-32 (UCS-4) et des séquences char encodées au format UTF-8.

Constructeurs

codecvt

Constructeur d'objets de la classe codecvt qui sert de facette de paramètres régionaux pour la gestion des conversions.

Typedef

extern_type

Type de caractère utilisé pour les représentations externes.

intern_type

Type de caractère utilisé pour les représentations internes.

state_type

Type de caractère utilisé pour représenter les états intermédiaires lors de conversions entre des représentations internes et externes.

Fonctions membres

always_noconv

Vérifie si une conversion doit être effectuée.

do_always_noconv

Fonction virtuelle appelée pour vérifier si une conversion doit être effectuée.

do_encoding

Fonction virtuelle qui vérifie si l'encodage du flux Byte dépend d'un état. Elle vérifie également si le rapport entre les Byte utilisés et les CharType produits est constant, et, le cas échéant, détermine la valeur de ce rapport.

do_in

Fonction virtuelle appelée pour convertir une séquence de Byte internes en une séquence de CharType externes.

do_length

Fonction virtuelle qui détermine le nombre de Byte d'une séquence donnée de d'Byte externes n'ayant pas produit plus d'un nombre donné de d'CharType internes, et retourne ce nombre de Byte.

do_max_length

Fonction virtuelle qui retourne le nombre maximal d'octets externes nécessaires pour produire un CharType interne.

do_out

Fonction virtuelle appelée pour convertir une séquence de CharType internes en une séquence d'octets externes.

do_unshift

Fonction virtuelle appelée pour fournir le Byte nécessaire dans une conversion avec dépendance d'état, afin d'ajouter le dernier caractère d'une séquence de Byte.

encoding

Vérifie si l'encodage du flux Byte dépend d'un état. Elle vérifie également si le rapport entre les Byte utilisés et les CharType produits est constant, et, le cas échéant, détermine la valeur de ce rapport.

in

Convertit la représentation externe d'une séquence de Byte en la représentation interne d'une séquence de CharType.

length

Détermine le nombre de Byte d'une séquence donnée de d'Byte externes n'ayant pas produit plus d'un nombre donné de d'CharType internes, et retourne ce nombre de Byte.

max_length

Retourne le nombre maximal de Byte externes nécessaires pour produire un CharType interne.

out

Convertit une séquence de CharType internes en une séquence de Byte externes.

unshift

Fournit les Byte externes nécessaires pour une conversion avec dépendance d'état, afin d'ajouter le dernier caractère de la séquence de Byte.

Configuration requise

En-tête : <locale>

Espace de noms : std

Voir aussi

Référence

<locale>

Pages de codes

Chaînes relatives aux noms, aux langues, au pays et à la région

Sécurité des threads dans la bibliothèque standard C++