15enum class unicode_bidi_class : uint8_t {
43[[nodiscard]]
constexpr bool is_isolate_starter(unicode_bidi_class
const &rhs)
noexcept
45 using enum unicode_bidi_class;
46 return rhs == LRI || rhs == RLI || rhs == FSI;
49[[nodiscard]]
constexpr bool is_isolate_formatter(unicode_bidi_class
const &rhs)
noexcept
51 using enum unicode_bidi_class;
52 return is_isolate_starter(rhs) || rhs == PDI;
55[[nodiscard]]
constexpr bool is_NI(unicode_bidi_class
const &rhs)
noexcept
57 using enum unicode_bidi_class;
58 return rhs == B || rhs == S || rhs == WS || rhs == ON || rhs == FSI || rhs == LRI || rhs == RLI || rhs == PDI;
61[[nodiscard]]
constexpr unicode_bidi_class unicode_bidi_class_from_string(std::string_view str)
noexcept
63 using enum unicode_bidi_class;
67 }
else if (str ==
"R") {
69 }
else if (str ==
"AL") {
71 }
else if (str ==
"EN") {
73 }
else if (str ==
"ES") {
75 }
else if (str ==
"ET") {
77 }
else if (str ==
"AN") {
79 }
else if (str ==
"CS") {
81 }
else if (str ==
"NSM") {
83 }
else if (str ==
"BN") {
85 }
else if (str ==
"B") {
87 }
else if (str ==
"S") {
89 }
else if (str ==
"WS") {
91 }
else if (str ==
"ON") {
93 }
else if (str ==
"LRE") {
95 }
else if (str ==
"LRO") {
97 }
else if (str ==
"RLE") {
99 }
else if (str ==
"RLO") {
101 }
else if (str ==
"PDF") {
103 }
else if (str ==
"LRI") {
105 }
else if (str ==
"RLI") {
107 }
else if (str ==
"FSI") {
109 }
else if (str ==
"PDI") {