is_decode_injective_vο
Looks to see if the decode_one
operation on a given encoding type is injective.
This classification checks whether the given encoding type has a type definition called is_decode_injective
on it, and if it does checks to see if its std::true_type
. If itβs not present, or if itβs std::false_type
, then the encoding is assumed to NOT be injective.
-
template<typename _Type>
class is_decode_injective : public std::integral_constant<bool, __txt_detail::__is_decode_injective_sfinae<::ztd::remove_cvref_t<_Type>>::value || __txt_detail::__is_injective_sfinae<::ztd::remove_cvref_t<_Type>>::value>ο Checks whether or not the decoding step for
_Type
is injective (cannot possibly lose information regardless of whatever valid input is put in).Remark
If the encoding object does not define is_decode_injective, it is assumed to be false (the safest default).
- Template Parameters
_Type β The encoding type to check.
-
template<typename _Type>
constexpr bool ztd::text::is_decode_injective_v = is_decode_injective<::ztd::remove_cvref_t<_Type>>::valueο An alias of the inner
value
for ztd::text::is_decode_injective.