Bagikan melalui


codecvt Kelas

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_type tergantung pada status.

  • 0, jika pengodean melibatkan urutan dengan panjang yang bervariasi.

  • N, jika pengodean hanya melibatkan urutan panjang N

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::error jika urutan sumber sakit terbentuk.

  • codecvt_base::noconv jika fungsi tidak melakukan konversi.

  • codecvt_base::ok jika konversi berhasil.

  • codecvt_base::partial jika 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::error jika urutan sumber sakit terbentuk.

  • codecvt_base::noconv jika fungsi tidak melakukan konversi.

  • codecvt_base::ok jika konversi berhasil.

  • codecvt_base::partial jika 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::error jika status mewakili status yang tidak valid

  • codecvt_base::noconv jika fungsi tidak melakukan konversi

  • codecvt_base::ok jika konversi berhasil

  • codecvt_base::partial jika 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_type tergantung pada status.

  • 0, jika pengodean melibatkan urutan dengan panjang yang bervariasi.

  • N, jika pengodean hanya melibatkan urutan panjang N.

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::error jika urutan sumber sakit terbentuk.

  • codecvt_base::noconv jika fungsi tidak melakukan konversi.

  • codecvt_base::ok jika konversi berhasil.

  • codecvt_base::partial jika 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::error jika status mewakili status yang tidak valid.

  • codecvt_base::noconv jika fungsi tidak melakukan konversi.

  • codecvt_base::ok jika konversi berhasil.

  • codecvt_base::partial jika 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++