make_encode_stateļ
This detects when the encode_state
of a given encoding
requires the encoding
itself to make said state. If so, it will call the encode_state
ās constructor with the encoding passed in. Otherwise, it simply default-constructs a state. In either case, the constructed value is returned to the user.
The classification for this is done by ztd::text::is_encode_state_independent.
-
template<typename _Encoding>
constexpr encode_state_t<remove_cvref_t<_Encoding>> ztd::text::make_encode_state(_Encoding &__encoding) noexceptļ Constructs the
encode_state
of the given encoding, based on whether or not the encoding and state meet the criteria of ztd::text::is_encode_state_independent_v.- Parameters:
__encoding ā [in] The encoding object to use, if applicable, for the construction of the state.
-
template<typename _Encoding>
constexpr encode_state_t<remove_cvref_t<_Encoding>> ztd::text::make_encode_state_with(_Encoding &__encoding, const decode_state_t<remove_cvref_t<_Encoding>> &__decode_state) noexceptļ Constructs the
encode_state
of the given encoding, based on whether or not the encoding and state meet the criteria of ztd::text::is_encode_state_independent_v or whether it can be created by copy construction from the given__decode_state
.- Parameters:
__encoding ā [in] The encoding object to use, if applicable, for the construction of the state.
__decode_state ā [in] A preexisting state from the decoder.