is_unicode_code_point

This checks if the provided type is a unicode_code_point.

Note

User Specializations: ✔️ Okay! You can add other types to this classification by specializing the class template to a definition that derives from std::true_type, or turn it off explicitly by having a definition that derives from std::false_type. Note that specializing any type not explicitly marked with this notice is ☢️☢️Undefined Behavior☢️☢️.

Warning

⚠️ Note there are some expectations of unicode code points. If your type violates these expectations then code depending on them is free to execute ☢️☢️Undefined Behavior☢️☢️.

template<typename _Type>
class is_unicode_code_point : public std::integral_constant<bool, ::std::is_same_v<::ztd::remove_cvref_t<_Type>, char32_t> || ::std::is_same_v<::ztd::remove_cvref_t<_Type>, __txt_impl::__unicode_code_point> || is_unicode_scalar_value_v<::ztd::remove_cvref_t<_Type>>>
template<typename _Type>
constexpr bool ztd::text::is_unicode_code_point_v = is_unicode_code_point<::ztd::remove_cvref_t<_Type>>::value