Single-byte Encodings / Lookup Encodings

These encodings are single-byte encodings that contain no inherent complexity and are driven by high-bit-1, 8-bit lookup tables or direct 8-bit lookup tables. They are all listed below for brevity.

Known Encodings

constexpr basic_atari_st<char> ztd::text::atari_st = {}

An instance of basic_atari_st for ease of use.

constexpr basic_atascii<char> ztd::text::atascii = {}

An instance of basic_atascii for ease of use.

constexpr basic_ibm_424_hebrew_bulletin<char> ztd::text::ibm_424_hebrew_bulletin = {}

An instance of basic_ibm_8_424ebrew for ease of use.

constexpr basic_ibm_856_hebrew<char> ztd::text::ibm_856_hebrew = {}

An instance of basic_ibm_856_hebrew for ease of use.

constexpr basic_ibm_866_cyrillic<char> ztd::text::ibm_866_cyrillic = {}

An instance of basic_ibm_866_cyrillic for ease of use.

constexpr basic_ibm_1006_urdu<char> ztd::text::ibm_1006_urdu = {}

An instance of basic_ibm_1006_urdu for ease of use.

constexpr basic_iso_8859_1_1985<char> ztd::text::iso_8859_1_1985 = {}

An instance of basic_iso_8859_1_1985 for ease of use.

constexpr basic_iso_8859_1_1998<char> ztd::text::iso_8859_1_1998 = {}

An instance of basic_iso_8859_1_1998 for ease of use.

constexpr basic_iso_8859_1<char> ztd::text::iso_8859_1 = {}

An instance of the basic_iso_8859_1 type for ease of use.

constexpr basic_iso_8859_2<char> ztd::text::iso_8859_2 = {}

An instance of basic_iso_8859_2 for ease of use.

constexpr basic_iso_8859_3<char> ztd::text::iso_8859_3 = {}

An instance of basic_iso_8859_3 for ease of use.

constexpr basic_iso_8859_4<char> ztd::text::iso_8859_4 = {}

An instance of basic_iso_8859_4 for ease of use.

constexpr basic_iso_8859_5<char> ztd::text::iso_8859_5 = {}

An instance of basic_iso_8859_5 for ease of use.

constexpr basic_iso_8859_6<char> ztd::text::iso_8859_6 = {}

An instance of basic_iso_8859_6 for ease of use.

constexpr basic_iso_8859_7<char> ztd::text::iso_8859_7 = {}

An instance of basic_iso_8859_7 for ease of use.

constexpr basic_iso_8859_8<char> ztd::text::iso_8859_8 = {}

An instance of basic_iso_8859_8for ease of use.

constexpr basic_iso_8859_10<char> ztd::text::iso_8859_10 = {}

An instance of basic_iso_8859_10 for ease of use.

constexpr basic_iso_8859_13<char> ztd::text::iso_8859_13 = {}

An instance of basic_iso_8859_13 for ease of use.

constexpr basic_iso_8859_14<char> ztd::text::iso_8859_14 = {}

An instance of basic_iso_8859_14 for ease of use.

constexpr basic_iso_8859_15<char> ztd::text::iso_8859_15 = {}

An instance of basic_iso_8859_15 for ease of use.

constexpr basic_iso_8859_16<char> ztd::text::iso_8859_16 = {}

An instance of basic_iso_8859_16 for ease of use.

constexpr basic_kamenicky<char> ztd::text::kamenicky = {}

An instance of basic_kamenicky for ease of use.

constexpr basic_kazakh_strk1048<char> ztd::text::kazakh_strk1048 = {}

An instance of basic_kazakh_strk1048 for ease of use.

constexpr basic_koi8_r<char> ztd::text::koi8_r = {}

An instance of basic_koi8_r for ease of use.

constexpr basic_koi8_u<char> ztd::text::koi8_u = {}

An instance of basic_koi8_ufor ease of use.

constexpr basic_petscii_unshifted<char> ztd::text::petscii_unshifted = {}

An instance of basic_petscii_unshifted for ease of use.

constexpr basic_petscii_shifted<char> ztd::text::petscii_shifted = {}

An instance of basic_petscii_shifted for ease of use.

constexpr basic_tatar_ansi<char> ztd::text::tatar_ansi = {}

An instance of basic_tatar_ansi for ease of use.

constexpr basic_tatar_ascii<char> ztd::text::tatar_ascii = {}

An instance of basic_tatar_ascii for ease of use.

constexpr basic_windows_437_dos_latin_us<char> ztd::text::windows_437_dos_latin_us = {}

An instance of basic_windows_437_dos_latin_us for ease of use.

constexpr basic_windows_865_dos_nordic<char> ztd::text::windows_865_dos_nordic = {}

An instance of basic_windows_865_dos_nordic for ease of use.

constexpr basic_windows_874<char> ztd::text::windows_874 = {}

An instance of basic_windows_874 for ease of use.

constexpr basic_windows_1251<char> ztd::text::windows_1251 = {}

An instance of windows_1251 for ease of use.

constexpr basic_windows_1252<char> ztd::text::windows_1252 = {}

An instance of basic_windows_1252 for ease of use.

constexpr basic_windows_1253<char> ztd::text::windows_1253 = {}

An instance of basic_windows_1253 for ease of use.

constexpr basic_windows_1254<char> ztd::text::windows_1254 = {}

An instance of basic_windows_1254 for ease of use.

constexpr basic_windows_1255<char> ztd::text::windows_1255 = {}

An instance of basic_windows_1255 for ease of use.

constexpr basic_windows_1256<char> ztd::text::windows_1256 = {}

An instance of basic_windows_1256 for ease of use.

constexpr basic_windows_1257<char> ztd::text::windows_1257 = {}

An instance of basic_windows_1257 for ease of use.

constexpr basic_windows_1258<char> ztd::text::windows_1258 = {}

An instance of basic_windows_1258 for ease of use.

Base Templates

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_atascii : public __single_byte_lookup_encoding<basic_atascii<_CodeUnit, _CodePoint>, &::ztd::et::atascii_index_to_code_point, &::ztd::et::atascii_code_point_to_index, _CodeUnit, _CodePoint>
Template Parameters
  • _CodeUnit –

  • _CodePoint –

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_atari_st : public __single_byte_lookup_encoding<basic_atari_st<_CodeUnit, _CodePoint>, &::ztd::et::atari_st_index_to_code_point, &::ztd::et::atari_st_code_point_to_index, _CodeUnit, _CodePoint>
Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_ibm_424_hebrew_bulletin : public __single_byte_lookup_encoding<basic_ibm_424_hebrew_bulletin<_CodeUnit, _CodePoint>, &::ztd::et::ibm_424_hebrew_bulletin_index_to_code_point, &::ztd::et::ibm_424_hebrew_bulletin_code_point_to_index, _CodeUnit, _CodePoint>

The Hebrew encoding that matches IBM’s Codepage 424.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_ibm_856_hebrew : public __single_byte_lookup_encoding<basic_ibm_856_hebrew<_CodeUnit, _CodePoint>, &::ztd::et::ibm_856_hebrew_index_to_code_point, &::ztd::et::ibm_856_hebrew_code_point_to_index, _CodeUnit, _CodePoint>

The Hebrew encoding that matches IBM’s Codepage 856.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_ibm_866_cyrillic : public __single_ascii_byte_high_bit_lookup_encoding<basic_ibm_866_cyrillic<_CodeUnit, _CodePoint>, &::ztd::et::ibm_866_cyrillic_index_to_code_point, &::ztd::et::ibm_866_cyrillic_code_point_to_index, _CodeUnit, _CodePoint>

The Cyrillic encoding that matches IBM’s Codepage 866.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_ibm_1006_urdu : public __single_byte_lookup_encoding<basic_ibm_1006_urdu<_CodeUnit, _CodePoint>, &::ztd::et::ibm_1006_urdu_index_to_code_point, &::ztd::et::ibm_1006_urdu_code_point_to_index, _CodeUnit, _CodePoint>

The Urdu encoding that matches IBM’s Codepage 1006.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_1_1985 : public __single_byte_lookup_encoding<basic_iso_8859_1_1985<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_1_1985_index_to_code_point, &::ztd::et::iso_8859_1_1985_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches ISO/IEC 8859-1 specification published in 1985.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_1_1998 : public __single_byte_lookup_encoding<basic_iso_8859_1_1998<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_1_1998_index_to_code_point, &::ztd::et::iso_8859_1_1998_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the ISO/IEC 8859-1 encoding specification published in the year 1998.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit, typename _CodePoint = unicode_code_point>
class basic_iso_8859_1

The ISO/IEC 8859-1 encoding, occasionally referred to as Latin-1 (erroneously). Matches Unicode’s encoding of the first 256 bytes one-to-one.

Template Parameters
  • _CodeUnit – The code unit type to work over.

  • _CodePoint – The code point type to work over.

Public Types

using code_unit = _CodeUnit

The individual units that result from an encode operation or are used as input to a decode operation.

using code_point = _CodePoint

The individual units that result from a decode operation or as used as input to an encode operation. For most encodings, this is going to be a Unicode Code Point or a Unicode Scalar Value.

using state = __txt_detail::__empty_state

The state that can be used between calls to the encoder and decoder. This is empty for this encoding.

using is_decode_injective = ::std::true_type

Whether or not the decode operation can process all forms of input into code point values.

Remark

ISO/IEC 8859-1 can decode from its 8-bit (unpacked) code units to Unicode Code Points. Since the converion is lossless, this property is true.

using is_encode_injective = ::std::false_type

Whether or not the encode operation can process all forms of input into code unit values. This is not true for ISO/IEC 8859-1, as many Unicode Code Point and Unicode Scalar Values cannot be represented in ISO/IEC 8859-1. Since the conversion is lossy, this property is false.

Public Static Functions

static inline constexpr ::ztd::span<const code_unit, 1> replacement_code_units() noexcept

A range of code units representing the values to use when a replacement happen. For ISO/IEC 8859-1, this must be β€˜?’ instead of the usual Unicode Replacement Character U’�’.

template<typename _Input, typename _Output, typename _ErrorHandler>
static inline constexpr auto decode_one(_Input &&__input, _Output &&__output, _ErrorHandler &&__error_handler, state &__s)

Decodes a single complete unit of information as code points and produces a result with the input and output ranges moved past what was successfully read and written; or, produces an error and returns the input and output ranges untouched.

Remark

To the best ability of the implementation, the iterators will be returned untouched (e.g., the input models at least a view and a forward_range). If it is not possible, returned ranges may be incremented even if an error occurs due to the semantics of any view that models an input_range.

Parameters
  • __input – [in] The input view to read code uunits from.

  • __output – [in] The output view to write code points into.

  • __error_handler – [in] The error handler to invoke if encoding fails.

  • __s – [inout] The necessary state information. For this encoding, the state is empty and means very little.

Returns

A ztd::text::decode_result object that contains the input range, output range, error handler, and a reference to the passed-in state.

template<typename _Input, typename _Output, typename _ErrorHandler>
static inline constexpr auto encode_one(_Input &&__input, _Output &&__output, _ErrorHandler &&__error_handler, state &__s)

Encodes a single complete unit of information as code units and produces a result with the input and output ranges moved past what was successfully read and written; or, produces an error and returns the input and output ranges untouched.

Remark

To the best ability of the implementation, the iterators will be returned untouched (e.g., the input models at least a view and a forward_range). If it is not possible, returned ranges may be incremented even if an error occurs due to the semantics of any view that models an input_range.

Parameters
  • __input – [in] The input view to read code points from.

  • __output – [in] The output view to write code units into.

  • __error_handler – [in] The error handler to invoke if encoding fails.

  • __s – [inout] The necessary state information. For this encoding, the state is empty and means very little.

Returns

A ztd::text::encode_result object that contains the input range, output range, error handler, and a reference to the passed-in state.

Public Static Attributes

static constexprconst::std::size_t max_code_units = 1

The maximum code units a single complete operation of encoding can produce.

static constexprconst::std::size_t max_code_points = 1

The maximum number of code points a single complete operation of decoding can produce.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_2 : public __single_ascii_byte_high_bit_lookup_encoding<basic_iso_8859_2<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_2_index_to_code_point, &::ztd::et::iso_8859_2_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the ISO/IEC 8859-2 encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_3 : public __single_ascii_byte_high_bit_lookup_encoding<basic_iso_8859_3<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_3_index_to_code_point, &::ztd::et::iso_8859_3_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the ISO/IEC 8859-3 encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_4 : public __single_ascii_byte_high_bit_lookup_encoding<basic_iso_8859_4<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_4_index_to_code_point, &::ztd::et::iso_8859_4_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the ISO/IEC 8859-4 encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_5 : public __single_ascii_byte_high_bit_lookup_encoding<basic_iso_8859_5<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_5_index_to_code_point, &::ztd::et::iso_8859_5_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the ISO/IEC 8859-5 encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_6 : public __single_ascii_byte_high_bit_lookup_encoding<basic_iso_8859_6<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_6_index_to_code_point, &::ztd::et::iso_8859_6_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the ISO/IEC 8859-6 encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_7 : public __single_ascii_byte_high_bit_lookup_encoding<basic_iso_8859_7<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_7_index_to_code_point, &::ztd::et::iso_8859_7_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the ISO/IEC 8859-7 encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_8 : public __single_ascii_byte_high_bit_lookup_encoding<basic_iso_8859_8<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_8_index_to_code_point, &::ztd::et::iso_8859_8_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the ISO/IEC 8859-8 encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_10 : public __single_ascii_byte_high_bit_lookup_encoding<basic_iso_8859_10<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_10_index_to_code_point, &::ztd::et::iso_8859_10_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the ISO/IEC 8859-10 encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_13 : public __single_ascii_byte_high_bit_lookup_encoding<basic_iso_8859_13<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_13_index_to_code_point, &::ztd::et::iso_8859_13_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the ISO/IEC 8859-15 encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_14 : public __single_ascii_byte_high_bit_lookup_encoding<basic_iso_8859_14<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_14_index_to_code_point, &::ztd::et::iso_8859_14_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the ISO/IEC 8859-14 encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_15 : public __single_ascii_byte_high_bit_lookup_encoding<basic_iso_8859_15<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_15_index_to_code_point, &::ztd::et::iso_8859_15_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the ISO/IEC 8859-15 encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_iso_8859_16 : public __single_ascii_byte_high_bit_lookup_encoding<basic_iso_8859_16<_CodeUnit, _CodePoint>, &::ztd::et::iso_8859_16_index_to_code_point, &::ztd::et::iso_8859_16_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the ISO/IEC 8859-116 encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_kamenicky : public __single_byte_lookup_encoding<basic_kamenicky<_CodeUnit, _CodePoint>, &::ztd::et::kamenicky_index_to_code_point, &::ztd::et::kamenicky_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the KAMENICKY encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_kazakh_strk1048 : public __single_byte_lookup_encoding<basic_kazakh_strk1048<_CodeUnit, _CodePoint>, &::ztd::et::kazakh_strk1048_index_to_code_point, &::ztd::et::kazakh_strk1048_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the KZ1048 / Kazakh STRK-1048 encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_koi8_r : public __single_ascii_byte_high_bit_lookup_encoding<basic_koi8_r<_CodeUnit, _CodePoint>, &::ztd::et::koi8_r_index_to_code_point, &::ztd::et::koi8_r_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the KOI-8-R (Russian) Cyrillic encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_koi8_u : public __single_ascii_byte_high_bit_lookup_encoding<basic_koi8_u<_CodeUnit, _CodePoint>, &::ztd::et::koi8_u_index_to_code_point, &::ztd::et::koi8_u_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the KOI-8 (Ukranian) encoding specification.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_petscii_unshifted : public __single_byte_lookup_encoding<basic_petscii_unshifted<_CodeUnit, _CodePoint>, &::ztd::et::petscii_unshifted_index_to_code_point, &::ztd::et::petscii_unshifted_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the PETSCII (CBM ASCII) encoding specification, for unshifted characters (when the SHIFT button was NOT pressed on a PET/CBM device).

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_petscii_shifted : public __single_byte_lookup_encoding<basic_petscii_shifted<_CodeUnit, _CodePoint>, &::ztd::et::petscii_shifted_index_to_code_point, &::ztd::et::petscii_shifted_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the PETSCII (CBM ASCII) encoding specification, for shifted characters (when the SHIFT button was pressed on a PET/CBM device).

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_tatar_ansi : public __txt_impl::__single_ansi_byte_high_bit_lookup_encoding<basic_tatar_ansi<_CodeUnit, _CodePoint>, &::ztd::et::tatar_ansi_index_to_code_point, &::ztd::et::tatar_ansi_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the TATAR encoding (it’s ANSI variant, based on Windows Code Page 1252.)

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_tatar_ascii : public __single_ascii_byte_high_bit_lookup_encoding<basic_tatar_ascii<_CodeUnit, _CodePoint>, &::ztd::et::tatar_ascii_index_to_code_point, &::ztd::et::tatar_ascii_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches the TATAR encoding specification (based on its β€œASCII” variant, IBM Code Page 866).

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_windows_437_dos_latin_us : public __single_byte_lookup_encoding<basic_windows_437_dos_latin_us<_CodeUnit, _CodePoint>, &::ztd::et::windows_437_dos_latin_us_index_to_code_point, &::ztd::et::windows_437_dos_latin_us_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches Microsoft Windows’s Codepage 437 (DOS Latin, US).

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_windows_865_dos_nordic : public __single_byte_lookup_encoding<basic_windows_865_dos_nordic<_CodeUnit, _CodePoint>, &::ztd::et::windows_865_dos_nordic_index_to_code_point, &::ztd::et::windows_865_dos_nordic_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches Microsoft Windows’s Codepage 437 (DOS Latin, US).

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_windows_874 : public __single_ascii_byte_high_bit_lookup_encoding<basic_windows_874<_CodeUnit, _CodePoint>, &::ztd::et::windows_874_index_to_code_point, &::ztd::et::windows_874_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches Microsoft Windows’s Codepage 874.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_windows_1251 : public __single_ascii_byte_high_bit_lookup_encoding<basic_windows_1251<_CodeUnit, _CodePoint>, &::ztd::et::windows_1251_index_to_code_point, &::ztd::et::windows_1251_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches Microsoft Windows’s Codepage 1251.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_windows_1252 : public __single_ascii_byte_high_bit_lookup_encoding<basic_windows_1252<_CodeUnit, _CodePoint>, &::ztd::et::windows_1252_index_to_code_point, &::ztd::et::windows_1252_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches Microsoft Windows’s Codepage 1252 (AKA β€œLatin-1”).

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_windows_1253 : public __single_ascii_byte_high_bit_lookup_encoding<basic_windows_1253<_CodeUnit, _CodePoint>, &::ztd::et::windows_1253_index_to_code_point, &::ztd::et::windows_1253_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches Microsoft Windows’s Codepage 1253.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_windows_1254 : public __single_ascii_byte_high_bit_lookup_encoding<basic_windows_1254<_CodeUnit, _CodePoint>, &::ztd::et::windows_1254_index_to_code_point, &::ztd::et::windows_1254_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches Microsoft Windows’s Codepage 1254.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_windows_1255 : public __single_ascii_byte_high_bit_lookup_encoding<basic_windows_1255<_CodeUnit, _CodePoint>, &::ztd::et::windows_1255_index_to_code_point, &::ztd::et::windows_1255_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches Microsoft Windows’s Codepage 1255.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_windows_1256 : public __single_ascii_byte_high_bit_lookup_encoding<basic_windows_1256<_CodeUnit, _CodePoint>, &::ztd::et::windows_1256_index_to_code_point, &::ztd::et::windows_1256_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches Microsoft Windows’s Codepage 1256.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_windows_1257 : public __single_ascii_byte_high_bit_lookup_encoding<basic_windows_1257<_CodeUnit, _CodePoint>, &::ztd::et::windows_1257_index_to_code_point, &::ztd::et::windows_1257_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches Microsoft Windows’s Codepage 1257.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_windows_1258 : public __single_ascii_byte_high_bit_lookup_encoding<basic_windows_1258<_CodeUnit, _CodePoint>, &::ztd::et::windows_1258_index_to_code_point, &::ztd::et::windows_1258_code_point_to_index, _CodeUnit, _CodePoint>

The encoding that matches Microsoft Windows’s Codepage 1258.

Template Parameters
  • _CodeUnit – The default code unit type to use when outputting encoded units.

  • _CodePoint – The code point type to use when outputting decoded units.