Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Templat kelas yang menjelaskan objek yang dapat berfungsi sebagai faset lokal. Ini dapat mengontrol konversi antara urutan nilai yang digunakan untuk mengodekan karakter dalam program dan urutan nilai yang digunakan untuk mengodekan karakter di luar program.
Sintaks
template <class CharType, class Byte, class StateType>
class codecvt : public locale::facet, codecvt_base;
Parameter
CharType
Jenis yang digunakan dalam program untuk mengodekan karakter.
Byte
Jenis yang digunakan untuk mengodekan karakter di luar program.
StateType
Jenis yang dapat digunakan untuk mewakili status perantara konversi antara jenis representasi karakter internal dan eksternal.
Keterangan
Templat kelas menjelaskan objek yang dapat berfungsi sebagai faset lokal, untuk mengontrol konversi antara urutan nilai jenis CharType dan urutan nilai jenis Byte. Kelas StateType mencirikan transformasi -- dan objek kelas StateType menyimpan informasi status yang diperlukan selama konversi.
Pengodean internal menggunakan representasi dengan jumlah byte tetap per karakter, biasanya jenis char atau jenis wchar_t.
Seperti halnya faset lokal apa pun, objek id statis memiliki nilai awal nol yang disimpan. Upaya pertama untuk mengakses nilai tersimpannya menyimpan nilai positif unik di id.
Versi templat dan do_in do_out selalu mengembalikan codecvt_base::noconv.
Pustaka Standar C++ mendefinisikan beberapa spesialisasi eksplisit:
template<>
codecvt<wchar_t, char, mbstate_t>
mengonversi antara wchar_t dan char urutan.
template<>
codecvt<char16_t, char, mbstate_t>
mengonversi antara char16_t urutan yang dikodekan sebagai UTF-16 dan char urutan yang dikodekan sebagai UTF-8.
template<>
codecvt<char32_t, char, mbstate_t>
mengonversi antara char32_t urutan yang dikodekan sebagai UTF-32 (UCS-4) dan char urutan yang dikodekan sebagai UTF-8.
Konstruktor
| Konstruktor | Deskripsi |
|---|---|
codecvt |
Konstruktor untuk objek kelas codecvt yang berfungsi sebagai faset lokal untuk menangani konversi. |
Typedefs
| Nama jenis | Deskripsi |
|---|---|
extern_type |
Jenis karakter yang digunakan untuk representasi eksternal. |
intern_type |
Jenis karakter yang digunakan untuk representasi internal. |
state_type |
Jenis karakter yang digunakan untuk mewakili status menengah selama konversi antara representasi internal dan eksternal. |
Fungsi anggota
| Fungsi anggota | Deskripsi |
|---|---|
always_noconv |
Menguji apakah tidak ada konversi yang perlu dilakukan. |
do_always_noconv |
Fungsi virtual yang dipanggil untuk menguji apakah tidak ada konversi yang perlu dilakukan. |
do_encoding |
Fungsi virtual yang menguji apakah pengodean aliran bergantung pada Byte status, apakah rasio antara Byte nilai yang digunakan dan CharType nilai yang dihasilkan konstan, dan, jika demikian, menentukan nilai rasio tersebut. |
do_in |
Fungsi virtual yang dipanggil untuk mengonversi urutan nilai internal Byte ke urutan nilai eksternal CharType . |
do_length |
Fungsi virtual yang menentukan berapa banyak Byte nilai dari urutan nilai eksternal Byte tertentu yang menghasilkan tidak lebih dari jumlah nilai internal CharType tertentu dan mengembalikan jumlah Byte nilai tersebut. |
do_max_length |
Fungsi virtual yang mengembalikan jumlah maksimum Byte eksternal yang diperlukan untuk menghasilkan satu internal CharType. |
do_out |
Fungsi virtual yang disebut untuk mengonversi urutan nilai internal CharType ke urutan Byte eksternal. |
do_unshift |
Fungsi virtual yang dipanggil untuk menyediakan Byte nilai yang diperlukan dalam konversi tergantung status untuk menyelesaikan karakter terakhir dalam urutan Byte nilai. |
encoding |
Menguji apakah pengodean aliran bergantung pada Byte status, apakah rasio antara Byte nilai yang digunakan dan CharType nilai yang dihasilkan konstan, dan, jika demikian, menentukan nilai rasio tersebut. |
in |
Mengonversi representasi eksternal dari urutan Byte nilai menjadi representasi internal dari urutan CharType nilai. |
length |
Menentukan berapa banyak Byte nilai dari urutan nilai eksternal Byte tertentu yang menghasilkan tidak lebih dari jumlah nilai internal CharType tertentu dan mengembalikan jumlah Byte nilai tersebut. |
max_length |
Mengembalikan jumlah maksimum nilai eksternal Byte yang diperlukan untuk menghasilkan satu internal CharType. |
out |
Mengonversi urutan nilai internal CharType ke urutan nilai eksternal Byte . |
unshift |
Menyediakan nilai eksternal Byte yang diperlukan dalam konversi tergantung status untuk menyelesaikan karakter terakhir dalam urutan Byte nilai. |
Persyaratan
Header: <locale>
kumpulan nama XML: std
codecvt::always_noconv
Menguji apakah tidak ada konversi yang perlu dilakukan.
bool always_noconv() const throw();
Tampilkan Nilai
Nilai Boolean yang jika true tidak ada konversi yang perlu dilakukan; false jika setidaknya satu perlu dilakukan.
Keterangan
Fungsi anggota mengembalikan do_always_noconv.
Contoh
// codecvt_always_noconv.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
bool result1 = use_facet<codecvt<char, char, mbstate_t>>
( loc ).always_noconv( );
if ( result1 )
cout << "No conversion is needed." << '\n';
else
cout << "At least one conversion is required." << '\n';
bool result2 = use_facet<codecvt<wchar_t, char, mbstate_t>>
( loc ).always_noconv( );
if ( result2 )
cout << "No conversion is needed." << '\n';
else
cout << "At least one conversion is required." << '\n';
}
No conversion is needed.
At least one conversion is required.
codecvt::codecvt
Konstruktor untuk objek codecvt kelas yang berfungsi sebagai faset lokal untuk menangani konversi.
explicit codecvt(size_t refs = 0);
Parameter
refs
Nilai bilangan bulat yang digunakan untuk menentukan jenis manajemen memori untuk objek.
Keterangan
Nilai yang refs mungkin untuk parameter dan signifikansinya adalah:
0: Masa pakai objek dikelola oleh lokal yang berisinya.
1: Masa pakai objek harus dikelola secara manual.
2: Nilai-nilai ini tidak ditentukan.
Konstruktor menginisialisasi objek dasarnya locale::facet dengan locale::facet(refs).
codecvt::do_always_noconv
Fungsi virtual yang dipanggil untuk menguji apakah tidak ada konversi yang perlu dilakukan.
virtual bool do_always_noconv() const throw();
Tampilkan Nilai
Fungsi anggota virtual yang dilindungi hanya mengembalikan true jika setiap panggilan ke do_in atau do_out mengembalikan noconv.
Versi templat selalu mengembalikan true.
Contoh
Lihat contoh untuk always_noconv, yang memanggil do_always_noconv.
codecvt::do_encoding
Fungsi virtual yang menguji apakah pengodean aliran bergantung pada Byte status, apakah rasio antara Byte nilai yang digunakan dan CharType nilai yang dihasilkan konstan dan, jika demikian, menentukan nilai rasio tersebut.
virtual int do_encoding() const throw();
Tampilkan Nilai
Fungsi anggota virtual yang dilindungi mengembalikan:
-1, jika pengodean urutan jenis
extern_typetergantung pada status.0, jika pengodean melibatkan urutan dengan panjang yang bervariasi.
N, jika pengodean hanya melibatkan urutan panjangN
Contoh
Lihat contoh untuk pengodean, yang memanggil do_encoding.
codecvt::d o_in
Fungsi virtual yang dipanggil untuk mengonversi urutan nilai eksternal Byte ke urutan nilai internal CharType .
virtual result do_in(
StateType& state,
const Byte* first1,
const Byte* last1,
const Byte*& next1,
CharType* first2,
CharType* last2,
CharType*& next2) const;
Parameter
state
Status konversi yang dipertahankan antara panggilan ke fungsi anggota.
first1
Penunjuk ke awal urutan yang akan dikonversi.
last1
Penunjuk ke akhir urutan yang akan dikonversi.
next1
Penunjuk di luar akhir urutan yang dikonversi, ke karakter pertama yang belum dikonversi.
first2
Penunjuk ke awal urutan yang dikonversi.
last2
Penunjuk ke akhir urutan yang dikonversi.
next2
Penunjuk ke CharType yang datang setelah terakhir dikonversi CharType, ke karakter pertama yang tidak diubah dalam urutan tujuan.
Tampilkan Nilai
Pengembalian yang menunjukkan keberhasilan, keberhasilan parsial, atau kegagalan operasi. Fungsi ini mengembalikan:
codecvt_base::errorjika urutan sumber sakit terbentuk.codecvt_base::noconvjika fungsi tidak melakukan konversi.codecvt_base::okjika konversi berhasil.codecvt_base::partialjika sumber tidak cukup atau jika tujuan tidak cukup besar, agar konversi berhasil.
Keterangan
state harus mewakili status konversi awal di awal urutan sumber baru. Fungsi mengubah nilai tersimpannya sesuai kebutuhan untuk mencerminkan status konversi yang berhasil saat ini. Nilai tersimpannya tidak ditentukan.
Contoh
Lihat contoh untuk in, yang memanggil do_in.
codecvt::do_length
Fungsi virtual yang menentukan berapa banyak Byte nilai dari urutan nilai eksternal Byte tertentu yang menghasilkan tidak lebih dari jumlah nilai internal CharType tertentu dan mengembalikan jumlah Byte nilai tersebut.
virtual int do_length(
const StateType& state,
const Byte* first1,
const Byte* last1,
size_t len2) const;
Parameter
state
Status konversi yang dipertahankan antara panggilan ke fungsi anggota.
first1
Penunjuk ke awal urutan eksternal.
last1
Penunjuk ke akhir urutan eksternal.
len2
Jumlah Byte maksimum nilai yang dapat dikembalikan oleh fungsi anggota.
Tampilkan Nilai
Bilangan bulat yang mewakili hitungan jumlah maksimum konversi, tidak lebih besar dari len2, yang ditentukan oleh urutan sumber eksternal di [ first1, last1).
Keterangan
Fungsi anggota virtual yang dilindungi secara efektif memanggil do_in( state, first1, last1, next1, buf, buf + len2, next2) status (salinan status), beberapa buffer buf, dan pointer next1 dan next2.
Kemudian mengembalikan next2 - buf. Ini menghitung jumlah maksimum konversi, tidak lebih besar dari len2, yang ditentukan oleh urutan sumber pada [ first1, last1).
Versi templat selalu mengembalikan yang lebih kecil dari last1 - first1 dan .len2
Contoh
Lihat contoh untuk length, yang memanggil do_length.
codecvt::do_max_length
Fungsi virtual yang mengembalikan jumlah maksimum nilai eksternal Byte yang diperlukan untuk menghasilkan satu internal CharType.
virtual int do_max_length() const throw();
Tampilkan Nilai
Jumlah maksimum nilai yang Byte diperlukan untuk menghasilkan satu CharType.
Keterangan
Fungsi anggota virtual yang dilindungi mengembalikan nilai terbesar yang diizinkan yang dapat dikembalikan oleh do_length( first1, last1, 1) untuk nilai first1 valid arbitrer dan last1.
Contoh
Lihat contoh untuk max_length, yang memanggil do_max_length.
codecvt::do_out
Fungsi virtual yang dipanggil untuk mengonversi urutan nilai internal CharType ke urutan nilai eksternal Byte .
virtual result do_out(
StateType& state,
const CharType* first1,
const CharType* last1,
const CharType*& next1,
Byte* first2,
Byte* last2,
Byte*& next2) const;
Parameter
state
Status konversi yang dipertahankan antara panggilan ke fungsi anggota.
first1
Penunjuk ke awal urutan yang akan dikonversi.
last1
Penunjuk ke akhir urutan yang akan dikonversi.
next1
Referensi ke penunjuk ke yang pertama tidak dikonversi CharType, setelah terakhir CharType dikonversi.
first2
Penunjuk ke awal urutan yang dikonversi.
last2
Penunjuk ke akhir urutan yang dikonversi.
next2
Referensi ke penunjuk ke yang pertama tidak dikonversi Byte, setelah terakhir Byte dikonversi.
Tampilkan Nilai
Fungsi ini mengembalikan:
codecvt_base::errorjika urutan sumber sakit terbentuk.codecvt_base::noconvjika fungsi tidak melakukan konversi.codecvt_base::okjika konversi berhasil.codecvt_base::partialjika sumber tidak mencukupkan atau jika tujuan tidak cukup besar agar konversi berhasil.
Keterangan
state harus mewakili status konversi awal di awal urutan sumber baru. Fungsi mengubah nilai tersimpannya sesuai kebutuhan untuk mencerminkan status konversi yang berhasil saat ini. Nilai tersimpannya tidak ditentukan.
Contoh
Lihat contoh untuk keluar, yang memanggil do_out.
codecvt::do_unshift
Fungsi virtual yang dipanggil untuk menyediakan Byte nilai yang diperlukan dalam konversi tergantung status untuk menyelesaikan karakter terakhir dalam urutan Byte nilai.
virtual result do_unshift(
StateType& state,
Byte* first2,
Byte* last2,
Byte*& next2) const;
Parameter
state
Status konversi yang dipertahankan antara panggilan ke fungsi anggota.
first2
Penunjuk ke posisi pertama dalam rentang tujuan.
last2
Penunjuk ke posisi terakhir dalam rentang tujuan.
next2
Penunjuk ke elemen pertama yang tidak diubah dalam urutan tujuan.
Tampilkan Nilai
Fungsi ini mengembalikan:
codecvt_base::errorjika status mewakili status yang tidak validcodecvt_base::noconvjika fungsi tidak melakukan konversicodecvt_base::okjika konversi berhasilcodecvt_base::partialjika tujuan tidak cukup besar agar konversi berhasil
Keterangan
Fungsi anggota virtual yang dilindungi mencoba mengonversi elemen CharTypesumber (0) ke urutan tujuan yang disimpan di dalam [ first2, last2), kecuali untuk elemen Bytepenghentian (0). Ini selalu disimpan dalam next2 penunjuk ke elemen pertama yang tidak diubah dalam urutan tujuan.
State harus mewakili status konversi awal di awal urutan sumber baru. Fungsi mengubah nilai tersimpannya sesuai kebutuhan untuk mencerminkan status konversi yang berhasil saat ini. Biasanya, mengonversi elemen CharTypesumber (0) meninggalkan status saat ini dalam status konversi awal.
Contoh
Lihat contoh untuk unshift, yang memanggil do_unshift.
codecvt::encoding
Menguji apakah pengodean aliran bergantung pada Byte status, apakah rasio antara Byte nilai yang digunakan dan CharType nilai yang dihasilkan konstan, dan, jika demikian, menentukan nilai rasio tersebut.
int encoding() const throw();
Tampilkan Nilai
Jika nilai yang dikembalikan positif, nilai tersebut adalah jumlah Byte karakter konstanta yang diperlukan untuk menghasilkan CharType karakter.
Fungsi anggota virtual yang dilindungi mengembalikan:
-1, jika pengodean urutan jenis
extern_typetergantung pada status.0, jika pengodean melibatkan urutan dengan panjang yang bervariasi.
N, jika pengodean hanya melibatkan urutan panjangN.
Keterangan
Fungsi anggota mengembalikan do_encoding.
Contoh
// codecvt_encoding.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
int result1 = use_facet<codecvt<char, char, mbstate_t>> ( loc ).encoding ( );
cout << result1 << '\n';
result1 = use_facet<codecvt<wchar_t, char, mbstate_t>> ( loc ).encoding( );
cout << result1 << '\n';
result1 = use_facet<codecvt<char, wchar_t, mbstate_t>> ( loc ).encoding( );
cout << result1 << '\n';
}
1
1
1
codecvt::extern_type
Jenis karakter yang digunakan untuk representasi eksternal.
typedef Byte extern_type;
Keterangan
Jenisnya adalah sinonim untuk parameter Bytetemplat .
codecvt::in
Mengonversi representasi eksternal dari urutan Byte nilai menjadi representasi internal dari urutan CharType nilai.
result in(
StateType& state,
const Byte* first1,
const Byte* last1,
const Byte*& next1,
CharType* first2,
CharType* last2,
CharType*& next2) const;
Parameter
state
Status konversi yang dipertahankan antara panggilan ke fungsi anggota.
first1
Penunjuk ke awal urutan yang akan dikonversi.
last1
Penunjuk ke akhir urutan yang akan dikonversi.
next1
Penunjuk di luar akhir urutan yang dikonversi ke karakter pertama yang belum dikonversi.
first2
Penunjuk ke awal urutan yang dikonversi.
last2
Penunjuk ke akhir urutan yang dikonversi.
next2
Penunjuk ke CharType yang datang setelah terakhir dikonversi Chartype ke karakter pertama yang tidak diubah dalam urutan tujuan.
Tampilkan Nilai
Pengembalian yang menunjukkan keberhasilan, keberhasilan parsial, atau kegagalan operasi. Fungsi ini mengembalikan:
codecvt_base::errorjika urutan sumber sakit terbentuk.codecvt_base::noconvjika fungsi tidak melakukan konversi.codecvt_base::okjika konversi berhasil.codecvt_base::partialjika sumber tidak mencukupkan atau jika tujuan tidak cukup besar agar konversi berhasil.
Keterangan
state harus mewakili status konversi awal di awal urutan sumber baru. Fungsi mengubah nilai tersimpannya, sesuai kebutuhan, untuk mencerminkan status konversi yang berhasil saat ini. Setelah konversi parsial, state harus diatur sehingga memungkinkan konversi dilanjutkan saat karakter baru tiba.
Fungsi anggota mengembalikan do_in( state, first1, last1, next1, first2, last2, next2).
Contoh
// codecvt_in.cpp
// compile with: /EHsc
#define _INTL
#include <locale>
#include <iostream>
using namespace std;
#define LEN 90
int main( )
{
const char* pszExt = "This is the string to be converted!";
wchar_t pwszInt [LEN+1];
memset(&pwszInt[0], 0, (sizeof(wchar_t))*(LEN+1));
const char* pszNext;
wchar_t* pwszNext;
mbstate_t state = {0}; // zero-initialization represents the initial conversion state for mbstate_t
locale loc("C");//English_Britain");//German_Germany
int res = use_facet<codecvt<wchar_t, char, mbstate_t>>
( loc ).in( state,
pszExt, &pszExt[strlen(pszExt)], pszNext,
pwszInt, &pwszInt[strlen(pszExt)], pwszNext );
pwszInt[strlen(pszExt)] = 0;
wcout << ( res!=codecvt_base::error ? L"It worked! " : L"It didn't work! " )
<< L"The converted string is:\n ["
<< &pwszInt[0]
<< L"]" << '\n';
exit(-1);
}
It worked! The converted string is:
[This is the string to be converted!]
codecvt::intern_type
Jenis karakter yang digunakan untuk representasi internal.
typedef CharType intern_type;
Keterangan
Jenisnya adalah sinonim untuk parameter CharTypetemplat .
codecvt::length
Menentukan berapa banyak Byte nilai dari urutan nilai eksternal Byte tertentu yang menghasilkan tidak lebih dari jumlah nilai internal CharType tertentu dan mengembalikan jumlah Byte nilai tersebut.
int length(
const StateType& state,
const Byte* first1,
const Byte* last1,
size_t len2) const;
Parameter
state
Status konversi yang dipertahankan antara panggilan ke fungsi anggota.
first1
Penunjuk ke awal urutan eksternal.
last1
Penunjuk ke akhir urutan eksternal.
len2
Jumlah maksimum Byte yang dapat dikembalikan oleh fungsi anggota.
Tampilkan Nilai
Bilangan bulat yang mewakili hitungan jumlah maksimum konversi, tidak lebih besar dari len2, yang ditentukan oleh urutan sumber eksternal di [ first1, last1).
Keterangan
Fungsi anggota mengembalikan do_length( state, first1, last1, len2).
Contoh
// codecvt_length.cpp
// compile with: /EHsc
#define _INTL
#include <locale>
#include <iostream>
using namespace std;
#define LEN 90
int main( )
{
const char* pszExt = "This is the string whose length is to be measured!";
mbstate_t state = {0}; // zero-initialization represents the initial conversion state for mbstate_t
locale loc("C"); // English_Britain"); //German_Germany
int res = use_facet<codecvt<wchar_t, char, mbstate_t>>
( loc ).length( state,
pszExt, &pszExt[strlen(pszExt)], LEN );
cout << "The length of the string is: ";
wcout << res;
cout << "." << '\n';
exit(-1);
}
The length of the string is: 50.
codecvt::max_length
Mengembalikan jumlah maksimum nilai eksternal Byte yang diperlukan untuk menghasilkan satu internal CharType.
int max_length() const throw();
Tampilkan Nilai
Jumlah maksimum nilai yang Byte diperlukan untuk menghasilkan satu CharType.
Keterangan
Fungsi anggota mengembalikan do_max_length.
Contoh
// codecvt_max_length.cpp
// compile with: /EHsc
#define _INTL
#include <locale>
#include <iostream>
using namespace std;
int main( )
{
locale loc( "C");//English_Britain" );//German_Germany
int res = use_facet<codecvt<char, char, mbstate_t>>
( loc ).max_length( );
wcout << res << '\n';
}
1
codecvt::out
Mengonversi urutan nilai internal CharType ke urutan nilai eksternal Byte .
result out(
StateType& state,
const CharType* first1,
const CharType* last1,
const CharType*& next1,
Byte* first2,
Byte* last2,
Byte*& next2) const;
Parameter
state
Status konversi yang dipertahankan antara panggilan ke fungsi anggota.
first1
Penunjuk ke awal urutan yang akan dikonversi.
last1
Penunjuk ke akhir urutan yang akan dikonversi.
next1
Referensi ke penunjuk ke yang pertama tidak dikonversi CharType setelah terakhir CharType dikonversi.
first2
Penunjuk ke awal urutan yang dikonversi.
last2
Penunjuk ke akhir urutan yang dikonversi.
next2
Referensi ke penunjuk ke yang pertama tidak dikonversi Byte setelah terakhir dikonversi Byte.
Tampilkan Nilai
Fungsi anggota mengembalikan do_out( state, first1, last1, next1, first2, last2, next2).
Keterangan
Untuk informasi selengkapnya, lihat codecvt::do_out .
Contoh
// codecvt_out.cpp
// compile with: /EHsc
#define _INTL
#include <locale>
#include <iostream>
#include <wchar.h>
using namespace std;
#define LEN 90
int main( )
{
char pszExt[LEN + 1];
const wchar_t* pwszInt = L"This is the wchar_t string to be converted.";
memset(&pszExt[0], 0, (sizeof(char)) * (LEN + 1));
char* pszNext;
const wchar_t* pwszNext;
mbstate_t state;
locale loc("C");//English_Britain");//German_Germany
int res = use_facet<codecvt<wchar_t, char, mbstate_t>>
(loc).out(state,
pwszInt, &pwszInt[wcslen(pwszInt)], pwszNext,
pszExt, &pszExt[wcslen(pwszInt)], pszNext);
pszExt[wcslen(pwszInt)] = 0;
cout << (res != codecvt_base::error ? "It worked: " : "It didn't work: ")
<< "The converted string is:\n ["
<< &pszExt[0]
<< "]" << '\n';
}
It worked: The converted string is:
[This is the wchar_t string to be converted.]
codecvt::state_type
Jenis karakter yang digunakan untuk mewakili status menengah selama konversi antara representasi internal dan eksternal.
typedef StateType state_type;
Keterangan
Jenisnya adalah sinonim untuk parameter StateTypetemplat .
codecvt::unshift
Menyediakan nilai yang Byte diperlukan dalam konversi tergantung status untuk menyelesaikan karakter terakhir dalam urutan Byte nilai.
result unshift(
StateType& state,
Byte* first2,
Byte* last2,
Byte*& next2) const;
Parameter
state
Status konversi yang dipertahankan antara panggilan ke fungsi anggota.
first2
Penunjuk ke posisi pertama dalam rentang tujuan.
last2
Penunjuk ke posisi terakhir dalam rentang tujuan.
next2
Penunjuk ke elemen pertama yang tidak diubah dalam urutan tujuan.
Tampilkan Nilai
Fungsi ini mengembalikan:
codecvt_base::errorjika status mewakili status yang tidak valid.codecvt_base::noconvjika fungsi tidak melakukan konversi.codecvt_base::okjika konversi berhasil.codecvt_base::partialjika tujuan tidak cukup besar agar konversi berhasil.
Keterangan
Fungsi anggota virtual yang dilindungi mencoba mengonversi elemen CharTypesumber (0) ke urutan tujuan yang disimpan di dalam [ first2, last2), kecuali untuk elemen Bytepenghentian (0). Ini selalu disimpan dalam next2 penunjuk ke elemen pertama yang tidak diubah dalam urutan tujuan.
state harus mewakili status konversi awal di awal urutan sumber baru. Fungsi mengubah nilai tersimpannya, sesuai kebutuhan, untuk mencerminkan status konversi yang berhasil saat ini. Biasanya, mengonversi elemen CharTypesumber (0) meninggalkan status saat ini dalam status konversi awal.
Fungsi anggota mengembalikan do_unshift( state, first2, last2, next2 ).
Lihat juga
<locale>
Halaman Kode
Nama Lokal, Bahasa, dan String Negara/Wilayah
Keamanan utas di Pustaka Standar C++