Namespaces
Variants

std:: wbuffer_convert

From cppreference.net
Défini dans l'en-tête <locale>
template <

class Codecvt,
class Elem = wchar_t ,
class Tr = std:: char_traits < Elem >

> class wbuffer_convert : public std:: basic_streambuf < Elem, Tr >
(depuis C++11)
(obsolète en C++17)
(supprimé en C++26)

std::wbuffer_convert est un wrapper sur le tampon de flux de type std:: basic_streambuf < char > qui lui donne l'apparence de std:: basic_streambuf < Elem > . Toutes les opérations d'E/S effectuées via std::wbuffer_convert subissent une conversion de caractères telle que définie par la facette Codecvt . std::wbuffer_convert assume la propriété de la facette de conversion et ne peut pas utiliser une facette gérée par une locale.

Les facettes standard adaptées à une utilisation avec std::wbuffer_convert sont std::codecvt_utf8 pour les conversions UTF-8/UCS-2 et UTF-8/UCS-4, et std::codecvt_utf8_utf16 pour les conversions UTF-8/UTF-16.

Ce modèle de classe rend la fonctionnalité de conversion de caractères implicite de std::basic_filebuf disponible pour tout std::basic_streambuf .

Table des matières

Types membres

Type Définition
state_type Codecvt :: state_type

Membres de données

Membre Description
std:: streambuf * bufptr un pointeur vers le tampon de flux d'octets sous-jacent
( objet membre d'exposition uniquement* )
Codecvt * cvtptr un pointeur vers l'objet de conversion alloué
( objet membre d'exposition uniquement* )
state_type cvtstate l'objet d'état de conversion
( objet membre d'exposition uniquement* )

Fonctions membres

construit un nouveau wbuffer_convert
(fonction membre publique)
operator=
l'opérateur d'affectation par copie est supprimé
(fonction membre publique)
détruit le wbuffer_convert et sa facette de conversion
(fonction membre publique)
retourne ou remplace le tampon de flux étroit sous-jacent
(fonction membre publique)
retourne l'état de conversion actuel
(fonction membre publique)

Voir aussi

Conversions de caractères
Multioctets définis par les paramètres régionaux
(UTF-8, GB18030)
UTF-8
UTF-16
UTF-16 mbrtoc16 / c16rtomb (avec DR488 de C11)

codecvt < char16_t , char ,mbstate_t >
codecvt_utf8_utf16 < char16_t >
codecvt_utf8_utf16 < char32_t >
codecvt_utf8_utf16 < wchar_t >

N/A
UCS-2 c16rtomb (sans DR488 de C11) codecvt_utf8 < char16_t > codecvt_utf16 < char16_t >
UTF-32

mbrtoc32 / c32rtomb

codecvt < char32_t , char ,mbstate_t >
codecvt_utf8 < char32_t >

codecvt_utf16 < char32_t >

système wchar_t :

UTF-32 (non-Windows)
UCS-2 (Windows)

mbsrtowcs / wcsrtombs
use_facet < codecvt
< wchar_t , char ,mbstate_t >> ( locale )

codecvt_utf8 < wchar_t > codecvt_utf16 < wchar_t >
(C++11) (déprécié en C++17) (supprimé en C++26)
effectue des conversions entre une chaîne large et une chaîne d'octets
(modèle de classe)
(C++11) (déprécié en C++17) (supprimé en C++26)
convertit entre UTF-8 et UCS-2/UCS-4
(modèle de classe)
(C++11) (déprécié en C++17) (supprimé en C++26)
convertit entre UTF-8 et UTF-16
(modèle de classe)