Sdílet prostřednictvím


codecvt – třída

Třída šablony popisující objekt, který může sloužit jako podmínka národního prostředí.Dokáže řídit převody mezi sekvencí hodnot používanou ke kódování znaků v rámci programu a sekvencí hodnot používanou ke kódování znaků mimo program.

template<class CharType, class Byte, class StateType>
    class codecvt : public locale::facet, codecvt_base;

Parametry

  • CharType
    Typ používaný v rámci programu ke kódování znaků.

  • Byte
    Typ použitý ke kódování znaků mimo program.

  • StateType
    Typ, který lze použít k reprezentaci průběžných stavů převodu mezi interními a externími typy znázornění znaků.

Poznámky

Třída šablony popisující objekt, který může sloužit jako omezující vlastnost národního prostředí pro řízení převodů mezi sekvencí hodnot typu CharType a sekvencí hodnot typu Byte.Třída StateType charakterizuje transformaci a objekt třídy StateType během převodu uchovává všechny nezbytné informace o stavu.

Interní kódování používá znázornění s pevným počtem bajtů na znak, obvykle buď typu char, nebo wchar_t.

Stejně jako u omezující vlastnosti národního prostředí má statický objekt id počáteční uloženou hodnotu nula.První pokus o přístup k jeho uložené hodnotě uloží jedinečnou kladnou hodnotu vid.

Verze šablony do_in a do_out vždy vrátí codecvt_base::noconv.

Standardní knihovna jazyka C++ definuje několik explicitních specializací:

template<>

codecvt<wchar_t, char, mbstate_t>

převádí mezi sekvencemi wchar_t a char.

template<>

codecvt<char16_t, char, mbstate_t>

převádí mezi sekvencemi char16_t s kódováním UTF-16 a sekvencemi char s kódováním UTF-8.

template<>

codecvt<char32_t, char, mbstate_t>

převádí mezi sekvencemi char32_t s kódováním UTF-32 (UCS-4) a sekvencemi char s kódováním UTF-8.

Konstruktory

codecvt

Konstruktor pro objekty třídy codecvt, který slouží jako omezující vlastnost národního prostředí pro zpracování převodů.

Typedefs

extern_type

Typ znaku, který se používá pro externí reprezentace.

intern_type

Typ znaku, který se používá pro interní reprezentace.

state_type

Typ znaku, který se používá k reprezentaci průběžných stavů během převodu mezi interními a externími znázorněními.

Členské funkce

always_noconv

Ověřuje, zda je nutné provést nějaké převody.

do_always_noconv

Virtuální funkce volaná k ověření, zda je nutné provést nějaké převody.

do_encoding

Virtuální funkce ověřující, zda kódování toku Byte závisí na stavu a zda je poměr mezi použitou hodnotou Byte a vygenerovanou hodnotou CharType konstantní. Pokud ano, stanoví hodnotu tohoto poměru.

do_in

Virtuální funkce volaná k převedení sekvence interních Byte na sekvenci externích CharType.

do_length

Virtuální funkce, která určuje, kolik hodnot Byte z dané sekvence externích Byte vytvoří maximální počet interních CharType a vrátí daný počet Byte.

do_max_length

Virtuální funkce, která vrátí maximální počet externích bajtů nezbytných k vytvoření jednoho interního CharType.

do_out

Virtuální funkce volaná k převedení sekvence interních CharType na sekvenci externích bajtů.

do_unshift

Virtuální funkce volána k poskytnutí Byte potřebných při převodu závislém na stavu k dokončení posledního znaku v sekvenci Byte.

encoding

Ověřuje, zda kódování toku Byte závisí na stavu a zda je poměr mezi použitou hodnotou Byte a vygenerovanou hodnotou CharType konstantní. Pokud ano, stanoví hodnotu tohoto poměru.

in

Převede externí znázornění sekvence Byte na interní znázornění sekvence CharType.

length

Určí, kolik hodnot Byte z dané sekvence externích Byte vytvoří maximální počet interních CharType a vrátí daný počet Byte.

max_length

Vrátí maximální počet externích Byte nezbytných k vytvoření jednoho interního CharType.

out

Převede sekvenci interních CharType na sekvenci externích Byte.

unshift

Poskytne externí Byte potřebné při převodu závislém na stavu k dokončení posledního znaku v sekvenci Byte.

Požadavky

Hlavička: <locale>

Obor názvů: std

Viz také

Referenční dokumentace

<locale>

Znakové stránky

Řetězce s názvy národních prostředí, jazyků a zemí/oblastí

Bezpečný přístup z více vláken ve standardní knihovně C++