codecvt Class
Yerel tarafı hizmet verebilir bir nesneyi tanımlayan bir şablon sınıf. Program içindeki karakterleri kodlamak için kullanılan değerler dizisi ve bir dizi program dışındaki karakterleri kodlamak için kullanılan değerleri arasındaki dönüştürmelerin denetim yapabilir.
template<class CharType, class Byte, class StateType>
class codecvt
: public locale::facet, codecvt_base {
public:
typedef CharType intern_type;
typedef Byte extern_type;
typedef StateType state_type;
explicit codecvt (size_t _Refs = 0);
result in (
StateType& _State,
const Byte *_First1,
const Byte *_Last1,
const Byte *_Next1,
CharType *_First2,
CharType *_Last2,
CharType *_Next2
);
result out (
StateType& _State,
const Elem *_First1,
const Elem *_Last1,
const Elem *_Next1,
Byte *_First2,
Byte *_Last2,
Byte *_Next2
);
result unshift (
StateType& _State,
Byte *_First2,
Byte *_Last2,
Byte *_Next2
);
bool always_noconv () const throw();
int max_length () const throw();
int length (
const StateType& _State,
const Byte *_First1,
const Byte *_Last1,
size_t _N2
) const throw();
int encoding () const throw();
static locale::id id;
protected:
~codecvt();
virtual result do_in (
StateType& _State,
const Byte *_First1,
const Byte *_Last1,
const Byte *_Next1,
CharType *_First2,
CharType *_Last2,
CharType *_Next2
);
virtual result do_out (
StateType& _State,
const CharType *_First1,
const CharType *_Last1,
const CharType *_Next1,
Byte *_First2,
Byte *_Last2,
Byte *_Next2
);
virtual result do_unshift (
StateType& _State,
Byte *_First2,
Byte *_Last2,
Byte *_Next2
);
virtual bool do_always_noconv () const throw();
virtual int do_max_length () const throw();
virtual int do_encoding () const throw();
virtual int do_length (
const StateType& _State,
const Byte *_First1,
const Byte *_Last1,
size_t _Len2
) const throw();
};
Parametreler
CharType
Bir program içinde karakterleri kodlamak için kullanılan türü.Byte
Bir program dışındaki karakterleri kodlamak için kullanılan bir tür.StateType
Dahili ve harici karakter temsili türleri arasında dönüştürme Ara durumlarını temsil etmesi için kullanılan bir tür.
Notlar
Şablon sınıf olarak hizmet verebilir bir nesneyi tanımlayan bir yerel tarafı, bir dizi türü değerleri arasında dönüşümleri kontrol etmek için CharType ve bir dizi türü değerleri Byte. Sınıf StateType --dönüştürme ve sınıfın bir nesnesi belirtir StateType herhangi bir dönüştürme sırasında gerekli durum bilgilerini depolar.
İç kodlama bir gösterimi bayt / karakter, sabit bir sayı ile genellikle ya da kullandığı türden char veya wchar_t.
Statik nesne herhangi bir yerel tarafı olduğu gibi id bir başlangıç değeri olarak sıfır saklanan vardır. İlk denemesi, saklanan değere erişmek için benzersiz bir pozitif değer saklayanid.
Şablon sürümleri do_in ve do_out her zaman codecvt_base::noconv.
Standart C++ Kitaplığı birkaç açık specializations tanımlar:
template<>
codecvt<wchar_t, char, mbstate_t>
arasında dönüştüren wchar_t ve char sıralar.
template<>
codecvt<char16_t, char, mbstate_t>
arasında dönüştürür char16_t sıralarını utf-16 kodlanmış ve char sıralarını utf-8 olarak kodlanmış.
template<>
codecvt<char32_t, char, mbstate_t>
arasında dönüştüren char32_t sıralarını utf-32 (ucs-4) kodlanmış ve char sıralarını utf-8 olarak kodlanmış.
Oluşturucular
Nesne sınıfının yapıcı codecvt dönüşümleri işlemek için yerel tarafı sunar. |
TypeDef
Dış gösterimler için kullanılan karakter yazın. |
|
Dahili gösterimler için kullanılan karakter yazın. |
|
İç ve dış gösterimler arasında dönüştürme sırasında Ara durumlarını temsil etmesi için kullanılan karakter yazın. |
Üye işlevleri
Hiçbir dönüşümleri yapılması olup olmadığını sınar. |
|
Hiçbir dönüşümleri olup olmadığını sınamak için adında bir sanal işlevi yapılması. |
|
Bağlıysa depolama alanı sınamalarını sanal bir işlevi, kodlama Byte akışıdır durumu bağımlı olup arasındaki oranı Bytekullanılan s ve CharTypeüretilen s sabittir ve, böyle bir durumda, söz konusu oranı değeri belirler. |
|
Sanal bir işlev adı verilen dahili bir dizi dönüştürmek için Byteharici bir dizi s CharTypes. |
|
Belirleyen bir sanal işlevi ne kadar Bytebelirli bir dış sırasından s Bytes üretim belirli sayıda iç birden CharTypes ve o sayısını verir Bytes. |
|
Dış bayt sayısının bir üretmek gerekli iç döndüren sanal bir işlev CharType. |
|
Sanal bir işlev adı verilen dahili bir dizi dönüştürmek için CharTypes dış bayt dizisi. |
|
Sanal bir işlevin çağrılmasını sağlamak için Bytebir durum bağımlı dönüştürme dizisindeki son karakteri tamamlamak için gerekli %s Bytes. |
|
Bağlıysa depolama alanı sınamalarını, kodlama Byte akışıdır durumu bağımlı olup arasındaki oranı Bytekullanılan s ve CharTypeüretilen s sabittir ve, böyle bir durumda, söz konusu oranı değeri belirler. |
|
Bir dizi harici bir gösterimini dönüştürür Byte, bir dizi içsel bir gösterim s CharTypes. |
|
Belirleyen kaç Bytebelirli bir dış sırasından s Bytes üretim belirli sayıda iç fazlasını CharTypes ve o sayısını verir Bytes. |
|
Harici maksimum sayısını döndüren Bytes bir dahili üretmek için gerekli CharType. |
|
Bir dizi iç dönüştürür CharTypeharici bir dizi s Bytes. |
|
Dış sağlar Bytebir durum bağımlı dönüştürme dizisindeki son karakteri tamamlamak için gerekli %s Bytes. |
Gereksinimler
Başlık: <locale>
Namespace: std
Ayrıca bkz.
Başvuru
Standart C++ Kitaplığı'nda iş parçacığı güvenliği