11enum class unicode_general_category : uint8_t {
45[[nodiscard]]
constexpr bool is_LC(unicode_general_category
const &rhs)
noexcept
47 using enum unicode_general_category;
48 return rhs == Lu || rhs == Ll || rhs == Lt;
51[[nodiscard]]
constexpr bool is_L(unicode_general_category
const &rhs)
noexcept
53 using enum unicode_general_category;
54 return is_LC(rhs) || rhs == Lm || rhs == Lo;
57[[nodiscard]]
constexpr bool is_M(unicode_general_category
const &rhs)
noexcept
59 using enum unicode_general_category;
60 return rhs == Mn || rhs == Mc || rhs == Me;
63[[nodiscard]]
constexpr bool is_N(unicode_general_category
const &rhs)
noexcept
65 using enum unicode_general_category;
66 return rhs == Nd || rhs == Nl || rhs == No;
69[[nodiscard]]
constexpr bool is_P(unicode_general_category
const &rhs)
noexcept
71 using enum unicode_general_category;
72 return rhs == Pc || rhs == Pd || rhs == Ps || rhs == Pe || rhs == Pi || rhs == Pf || rhs == Po;
75[[nodiscard]]
constexpr bool is_S(unicode_general_category
const &rhs)
noexcept
77 using enum unicode_general_category;
78 return rhs == Sm || rhs == Sc || rhs == Sk || rhs == So;
81[[nodiscard]]
constexpr bool is_Z(unicode_general_category
const &rhs)
noexcept
83 using enum unicode_general_category;
84 return rhs == Zs || rhs == Zl || rhs == Zp;
87[[nodiscard]]
constexpr bool is_C(unicode_general_category
const &rhs)
noexcept
89 using enum unicode_general_category;
90 return rhs == Cc || rhs == Cf || rhs == Cs || rhs == Co || rhs == Cn;
93[[nodiscard]]
constexpr bool is_visible(unicode_general_category
const &rhs)
noexcept
95 return is_L(rhs) | is_M(rhs) | is_N(rhs) | is_P(rhs) | is_S(rhs);