std::wbuffer_convert
| Definiert in Header <locale> |
||
| template< class Codecvt, |
(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) | |
| operator= |
der Copy-Assignment-Operator ist gelöscht (öffentliche Memberfunktion) |
destruiert das wbuffer_convert und seine Konvertierungsfacette(public member function) | |
| gibt den zugrundeliegenden schmalen Stream-Puffer zurück oder ersetzt ihn (public member function) | |
| gibt den aktuellen Konvertierungszustand zurück (public member function) |
[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> |
N/A |
| UCS-2 | c16rtomb (ohne C11 DR488) | codecvt_utf8<char16_t> | codecvt_utf16<char16_t> |
| UTF-32 |
codecvt<char32_t,char,mbstate_t> |
codecvt_utf16<char32_t> | |
| System wchar_t UTF-32 (non-Windows) |
mbsrtowcs / wcsrtombs |
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) |
| (C++11)(deprecated in C++17)(removed in C++26) |
konvertiert zwischen UTF-8 und UCS-2/UCS-4 (Klassentemplate) |
| (C++11)(deprecated in C++17)(removed in C++26) |
konvertiert zwischen UTF-8 und UTF-16 (Klassentemplate) |