codecvt Class
Klasa szablonu opisującą obiekt, który może służyć jako aspekt ustawień regionalnych.Jest w stanie kontroli konwersje między sekwencja wartości używany do kodowania znaków w programie i sekwencja wartości używany do kodowania znaków spoza programu.
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();
};
Parametry
CharType
Typ używany w programie do kodowania znaków.Byte
Typ używany do kodowania znaków spoza programu.StateType
Typ używany do reprezentowania pośrednich stanów konwersja między typami wewnętrznej i zewnętrznej reprezentacji znaków.
Uwagi
Klasa szablonu opisuje obiekt, który może służyć jako locale aspekt, kontrolowanie konwersje między sekwencja wartości typu CharType i sekwencja wartości typu Byte.Klasa StateType charakteryzuje transformacji--i obiekt klasy StateType przechowuje wszystkie informacje o stanie niezbędne podczas konwersji.
Wewnętrzne kodowanie używa reprezentacja ze stałą liczbą bajtów na znak, zwykle albo wpisz char lub wchar_t.
Podobnie jak każdy aspekt locale obiektu statycznego id początkowego przechowywanych wartość zero.Pierwsza próba dostępu do jego wartości przechowywanej przechowuje unikatową wartość dodatnią wid.
Wersji szablonu do_in i do_out zawsze zwraca codecvt_base::noconv.
Standardowa biblioteka języka C++ definiuje kilka jawne specjalności:
template<>
codecvt<wchar_t, char, mbstate_t>
Konwertuje między wchar_t i char sekwencji.
template<>
codecvt<char16_t, char, mbstate_t>
Konwertuje między char16_t sekwencji zakodowany jako UTF-16 i char sekwencji zakodowany jako UTF-8.
template<>
codecvt<char32_t, char, mbstate_t>
Konwertuje między char32_t sekwencji zakodowany jako UTF-32 (UCS-4) i char sekwencji zakodowany jako UTF-8.
Konstruktory
Konstruktor dla obiektów klasy codecvt służy jako aspekt locale obsłużyć konwersji. |
Definicje TypeDef
Typ znaku używanego do zewnętrznej reprezentacji. |
|
Typ znaku używanego do reprezentacji wewnętrznej. |
|
Typ znaku, który jest używana do reprezentowania Państwa pośrednich podczas konwersji między reprezentacji wewnętrznej i zewnętrznej. |
Funkcje składowe
Sprawdza, czy nie konwersje należy wykonać. |
|
Potrzeby Sporządzono wirtualnego funkcji o nazwie, aby sprawdzić, czy nie konwersje. |
|
Funkcję wirtualną, sprawdzający Jeoli kodowanie Byte strumień jest Państwo zależnych, czy stosunek między Bytes używane i CharTypes produkowane jest stała i, jeśli tak, określa wartość tego współczynnika. |
|
Wirtualny funkcja o nazwie przekonwertować sekwencji wewnętrznego Bytes sekwencji zewnętrznych CharTypes. |
|
Funkcję wirtualną, która określa liczbę Bytes z danej sekwencji zewnętrznych Bytenie więcej niż określoną liczbę wewnętrznego produktu s CharTypes i zwraca ten numer Bytes. |
|
Wirtualny funkcja, która zwraca maksymalną liczbę bajtów zewnętrznych niezbędnych do wyprodukowania jednego wewnętrznego CharType. |
|
Wirtualny funkcja o nazwie przekonwertować sekwencji wewnętrznego CharTypes sekwencji bajtów zewnętrznych. |
|
Funkcja wirtualny o nazwie zapewnienie Bytes niezbędnych konwersji zależnych od Państwa do zakończenia ostatniego znaku w sekwencji Bytes. |
|
Badania, jeśli kodowanie Byte strumień jest Państwo zależnych, czy stosunek między Bytes używane i CharTypes produkowane jest stała i, jeśli tak, określa wartość tego współczynnika. |
|
Konwertuje zewnętrznej reprezentacji sekwencji Bytes do reprezentacji wewnętrznej, sekwencji CharTypes. |
|
Określa, ile Bytes z danej sekwencji zewnętrznych Bytenie więcej niż określoną liczbę wewnętrznego produktu s CharTypes i zwraca ten numer Bytes. |
|
Zwraca maksymalną liczbę zewnętrznych Byteniezbędnych do wyprodukowania jednego wewnętrznego s CharType. |
|
Konwertuje sekwencji wewnętrznego CharTypes sekwencji zewnętrznych Bytes. |
|
Zapewnia zewnętrznych Bytes niezbędnych konwersji zależnych od Państwa do zakończenia ostatniego znaku w sekwencji Bytes. |
Wymagania
Nagłówek: <locale>
Obszar nazw: std
Zobacz też
Informacje
Bezpieczeństwo wątków w standardowa biblioteka języka C++
Inne zasoby
<locale> Członkowie