Namensräume
Varianten
Aktionen

std::wbuffer_convert

Von cppreference.com
< cpp‎ | locale
 
 
 
 
 
Definiert in Header <locale>
template<

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

> class wbuffer_convert : public std::basic_streambuf<Elem, Tr>
(seit C++11)
(veraltet in C++17)
(entfernt in C++26)

std::wbuffer_convert ist ein Wrapper über einen Stream-Puffer vom Typ std::basic_streambuf<char>, der ihm das Erscheinungsbild eines std::basic_streambuf<Elem> verleiht. Alle über std::wbuffer_convert durchgeführten I/O-Operationen unterliegen einer Zeichenkonvertierung, wie sie durch die Facette Codecvt definiert ist. std::wbuffer_convert übernimmt das Eigentum an der Konvertierungsfacette und kann keine Facette verwenden, die von einer Locale verwaltet wird.

Die Standardfacetten, die für die Verwendung mit std::wbuffer_convert geeignet sind, sind std::codecvt_utf8 für UTF-8/UCS-2- und UTF-8/UCS-4-Konvertierungen und std::codecvt_utf8_utf16 für UTF-8/UTF-16-Konvertierungen.

Diese Klassenschablone macht die implizite Zeichenkonvertierungsfunktionalität von std::basic_filebuf für jeden std::basic_streambuf verfügbar.

Inhalt

[bearbeiten] Member types

Typ Definition
state_type Codecvt::state_type

[bearbeiten] Data members

Mitglied Beschreibung
std::streambuf* bufptr ein Zeiger auf den zugrundeliegenden Byte-Stream-Puffer
((exposition-only member object*)
Codecvt* cvtptr ein Zeiger auf das zugewiesene Konvertierungsobjekt
((exposition-only member object*)
state_type cvtstate das Konvertierungszustandsobjekt
((exposition-only member object*)

[bearbeiten] Member functions

konstruiert ein neues wbuffer_convert
(public member function) [bearbeiten]
operator=
der Copy-Assignment-Operator ist gelöscht
(öffentliche Memberfunktion)
destruiert das wbuffer_convert und seine Konvertierungsfacette
(public member function) [bearbeiten]
gibt den zugrundeliegenden schmalen Stream-Puffer zurück oder ersetzt ihn
(public member function) [bearbeiten]
gibt den aktuellen Konvertierungszustand zurück
(public member function) [bearbeiten]

[bearbeiten] Siehe auch

Zeichen
Konvertierungen
lokal definierte Multibyte-Zeichen
(UTF-8, GB18030)
UTF-8
UTF-16
UTF-16 mbrtoc16 / c16rtomb (mit C11 DR488)

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 (ohne C11 DR488) 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>

System 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)(deprecated in C++17)(removed in C++26)
führt Konvertierungen zwischen einem Wide-String und einem Byte-String durch
(Klassentemplate) [bearbeiten]
(C++11)(deprecated in C++17)(removed in C++26)
konvertiert zwischen UTF-8 und UCS-2/UCS-4
(Klassentemplate) [bearbeiten]
(C++11)(deprecated in C++17)(removed in C++26)
konvertiert zwischen UTF-8 und UTF-16
(Klassentemplate) [bearbeiten]