decode_resultļƒ

template<typename _Input, typename _Output, typename _State>
class decode_result : public ztd::text::stateless_decode_result<_Input, _Output>ļƒ

The result of all decode operations from encoding objects and higher-level calls (such as ztd_text_decode).

Public Functions

template<typename _ArgInput, typename _ArgOutput, typename _ArgState, ::std::enable_if_t<__txt_detail::__result_type_copy_constraint<::ztd::text::decode_result, _Input, _ArgInput, _Output, _ArgOutput, _State, _ArgState>()>* = nullptr>
inline constexpr decode_result(const decode_result<_ArgInput, _ArgOutput, _ArgState> &__other) noexcept(__txt_detail::__result_type_copy_noexcept<::ztd::text::decode_result, _Input, _ArgInput, _Output, _ArgOutput, _State, _ArgState>)ļƒ

Constructs a ztd::text::decode_result from a previous decode_result.

Parameters

__other ā€“ [in] A different but related result type.

template<typename _ArgInput, typename _ArgOutput, typename _ArgState, ::std::enable_if_t<__txt_detail::__result_type_move_constraint<::ztd::text::decode_result, _Input, _ArgInput, _Output, _ArgOutput, _State, _ArgState>()>* = nullptr>
inline constexpr decode_result(decode_result<_ArgInput, _ArgOutput, _ArgState> &&__other) noexcept(__txt_detail::__result_type_move_noexcept<::ztd::text::decode_result, _Input, _ArgInput, _Output, _ArgOutput, _State, _ArgState>)ļƒ

Constructs a ztd::text::decode_result from a previous decode_result.

Parameters

__other ā€“ [in] A different but related result type.

template<typename _ArgInput, typename _ArgOutput, typename _ArgState>
inline constexpr decode_result(_ArgInput &&__input, _ArgOutput &&__output, _ArgState &&__state, encoding_error __error_code = encoding_error::ok)ļƒ

Constructs a ztd::text::decode_result, defaulting the error code to ztd::text::encoding_error::ok if not provided.

Parameters
  • __input ā€“ [in] The input range to store.

  • __output ā€“ [in] The output range to store.

  • __state ā€“ [in] The state related to the Encoding that performed the decode operation.

  • __error_code ā€“ [in] The error code for the decoding opertion, if any.

template<typename _ArgInput, typename _ArgOutput, typename _ArgState>
inline constexpr decode_result(_ArgInput &&__input, _ArgOutput &&__output, _ArgState &&__state, encoding_error __error_code, ::std::size_t __error_count)ļƒ

Constructs a ztd::text::decode_result with the provided parameters and information, including whether or not an error was handled.

Parameters
  • __input ā€“ [in] The input range to store.

  • __output ā€“ [in] The output range to store.

  • __state ā€“ [in] The state related to the Encoding that performed the decode operation.

  • __error_code ā€“ [in] The error code for the decode operation, taken as the first of either the decode operation that failed.

  • __error_count ā€“ [in] Whether or not an error was handled. Some error handlers are corrective (see ztd::text::replacement_handler_t), and so the error code is not enough to determine if the handler was invoked. This allows the value to be provided directly when constructing this result type.

inline constexpr bool errors_were_handled() const noexceptļƒ

Whether or not any errors were handled.

Returns

Simply checks whether error_count is greater than 0.

Public Members

::ztd::reference_wrapper<_State> stateļƒ

The state of the associated Encoding used for decoding input code units to code points.

_Input inputļƒ

The reconstructed input_view object, with its .begin() incremented by the number of code units successfully read (can be identical to .begin() on original range on failure).

_Output outputļƒ

The reconstructed output_view object, with its .begin() incremented by the number of code units successfully written (can be identical to .begin() on original range on failure).

encoding_error error_codeļƒ

The kind of error that occured, if any.

::std::size_t error_countļƒ

The number of times an error occurred in the processed input text.