codecvt Class
Une classe de modèle qui décrit un objet qui peut servir de facette de paramètres régionaux.Il peut contrôler les conversions entre une séquence de valeurs utilisées pour encoder des caractères dans le programme et une séquence de valeurs utilisées pour encoder des caractères en dehors de le programme.
template<class CharType, class Byte, class StateType>
class codecvt
: public locale::facet, codecvt_base {
public:
typedef CharType intern_type;
typedef Byte extern_type;
typedef StateType state_type;
explicit codecvt (size_t _Refs = 0);
result in (
StateType& _State,
const Byte *_First1,
const Byte *_Last1,
const Byte *_Next1,
CharType *_First2,
CharType *_Last2,
CharType *_Next2
);
result out (
StateType& _State,
const Elem *_First1,
const Elem *_Last1,
const Elem *_Next1,
Byte *_First2,
Byte *_Last2,
Byte *_Next2
);
result unshift (
StateType& _State,
Byte *_First2,
Byte *_Last2,
Byte *_Next2
);
bool always_noconv () const throw();
int max_length () const throw();
int length (
const StateType& _State,
const Byte *_First1,
const Byte *_Last1,
size_t _N2
) const throw();
int encoding () const throw();
static locale::id id;
protected:
~codecvt();
virtual result do_in (
StateType& _State,
const Byte *_First1,
const Byte *_Last1,
const Byte *_Next1,
CharType *_First2,
CharType *_Last2,
CharType *_Next2
);
virtual result do_out (
StateType& _State,
const CharType *_First1,
const CharType *_Last1,
const CharType *_Next1,
Byte *_First2,
Byte *_Last2,
Byte *_Next2
);
virtual result do_unshift (
StateType& _State,
Byte *_First2,
Byte *_Last2,
Byte *_Next2
);
virtual bool do_always_noconv () const throw();
virtual int do_max_length () const throw();
virtual int do_encoding () const throw();
virtual int do_length (
const StateType& _State,
const Byte *_First1,
const Byte *_Last1,
size_t _Len2
) const throw();
};
Paramètres
CharType
Le type utilisé dans le cadre d'un programme pour encoder des caractères.Byte
Un type utilisé pour encoder des caractères en dehors d'un programme.StateType
Un type qui peut être utilisé pour représenter les rapports intermédiaires d'une conversion entre types internes et externes de représentations de caractères.
Notes
La classe de modèle décrit un objet qui peut servir de facette de paramètres régionaux, pour vérifier 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 -- et un objet de classe StateType stocke toutes les informations d'état requis pendant une conversion.
L'encodage interne utilise une représentation avec un nombre fixe d'octets pour chaque caractère, généralement type char ou type wchar_t.
Comme pour toute facette de paramètres régionaux, l'objet statique id a une valeur signalée par initiale de zéro.Le premier test d'accéder à sa valeur signalée stocke une seule valeur positive dansid.
Les versions de modèle de do_in et de 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>
convertit entre wchar_t et les séquences d' char .
template<>
codecvt<char16_t, char, mbstate_t>
convertit entre les séquences d' char16_t encodées en UTF-16 et les séquences d' char encodées comme UTF-8.
template<>
codecvt<char32_t, char, mbstate_t>
convertit entre les séquences d' char32_t encodées comme UTF-32 (UCS-4) et les séquences d' char encodées comme UTF-8.
Constructeurs
Le constructeur pour les objets de la classe codecvt qui sert de facette de paramètres régionaux pour gérer des conversions. |
Typedef
Un type de caractère utilisé pour les représentations externes. |
|
Un type de caractère utilisé pour les représentations internes. |
|
Un type de caractère utilisé pour représenter les rapports intermédiaires pendant les conversions entre les représentations internes et externes. |
Fonctions membres
Teste si conversion ne doit pas être effectuée. |
|
Une fonction virtuelle appelée pour tester si conversion ne doit pas être effectuée. |
|
Une fonction virtuelle qui teste si l'encodage du flux d' Byte est dépendant d'état, si le taux de Bytes utilisé d' CharTypes produit est constante, et, le cas échéant, détermine la valeur de ce ratio. |
|
Une fonction virtuelle appelée pour convertir une séquence d' Byteinterne s à une séquence d' CharTypeexterne S. |
|
Une fonction virtuelle qui détermine le temps d' Bytes d'une séquence donnée de produit externe d' Bytes pas plus qu'un nombre donné de CharTypeinterne s et retourne qui nombre d' ByteS. |
|
Une fonction virtuelle qui retourne le nombre maximal d'octets externes requises pour produire un CharTypeinterne. |
|
Une fonction virtuelle appelée pour convertir une séquence d' CharTypeinterne s à une séquence d'octets externes. |
|
Une fonction virtuelle appelée pour fournir Bytes est nécessaire dans une conversion d'état dépendant de terminer le dernier caractère dans une séquence d' ByteS. |
|
Les tests si l'encodage du flux d' Byte est dépendant d'état, si le taux de Bytes utilisé d' CharTypes produit est constante, et, le cas échéant, détermine la valeur de ce ratio. |
|
Convertit une représentation externe d'une séquence d' Bytes à une représentation interne d'une séquence d' CharTypeS. |
|
Détermine le temps d' Bytes d'une séquence donnée de produit externe d' Bytes pas plus qu'un nombre donné de CharTypeinterne s et retourne qui nombre d' ByteS. |
|
Retourne le nombre maximal d' Byteexterne s nécessaire pour produire un CharTypeinterne. |
|
Convertit une séquence d' CharTypeinterne s à une séquence d' Byteexterne S. |
|
Fournit Byteexterne s nécessaire dans une conversion d'état dépendant pour terminer le dernier caractère de la séquence d' ByteS. |
Configuration requise
en-tête : <locale>
l'espace de noms : DST
Voir aussi
Référence
Sécurité des threads dans la bibliothèque C++ standard