Big5 Hong Kong Supplementary Character Set (HKSCS)ļƒ

The Big5 encoding, with the Hong Kong Supplementary Character Set (HKSCS) included with it. This is the most prevalent encoding besides GBK in use for Chinese languages (though there exist many subsets captured by other variants and encodings that may use the same name).

Aliasļƒ

constexpr basic_big5_hkscs<char> ztd::text::big5_hkscs = {}ļƒ

An instance of basic_big5-hkscs for ease of use.

Base Templatesļƒ

template<typename _CodeUnit = char, typename _CodePoint = unicode_code_point>
class basic_big5_hkscsļƒ

The Big5-HKSCS (Hong Kong Supplementary Character Set) encoding, standardized around 2001.

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.

Public Types

using code_unit = _CodeUnitļƒ

Shift-JIS is generally stored as minimum-8-bit values in a sequence.

using code_point = _CodePointļƒ

Shift-JIS outputs Unicode Scalar Values.

using state = __txt_detail::__empty_stateļƒ

Shift-JIS requires no state.

using is_decode_injective = std::true_typeļƒ

Marks this encoding as injective for the decode portion of its encoding actions.

Public Functions

inline constexpr ztd::span<const code_unit, 1> replacement_code_units() const noexceptļƒ

A fixed-size 1-element span with the __code_point unit ā€œ?ā€.

Public Static Functions

template<typename _Input, typename _Output, typename _ErrorHandler>
static inline constexpr auto decode_one(_Input &&__input, _Output &&__output, _ErrorHandler &&__error_handler, state &__state) noexceptļƒ

Decodes a single complete unit of information as __code_point 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_point uunits from.

  • __output ā€“ [in] The output view to write __code_point points into.

  • __error_handler ā€“ [in] The error handler to invoke if encoding fails.

  • __state ā€“ [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 &__state) noexceptļƒ

Encodes a single complete unit of information as __code_point 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_point points from.

  • __output ā€“ [in] The output view to write __code_point units into.

  • __error_handler ā€“ [in] The error handler to invoke if encoding fails.

  • __state ā€“ [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 constexpr std::size_t max_code_points = 2ļƒ

The Shift-JIS encoding can put out at most 1 __code_point point per decoding action.

static constexpr std::size_t max_code_units = 2ļƒ

The Shift-JIS encoding can put out at most 2 __code_point units per encoding action.