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