14enum class unicode_bidi_class : uint8_t {
42[[nodiscard]]
constexpr bool is_isolate_starter(unicode_bidi_class
const &rhs)
noexcept
44 using enum unicode_bidi_class;
45 return rhs == LRI || rhs == RLI || rhs == FSI;
48[[nodiscard]]
constexpr bool is_isolate_formatter(unicode_bidi_class
const &rhs)
noexcept
50 using enum unicode_bidi_class;
51 return is_isolate_starter(rhs) || rhs == PDI;
54[[nodiscard]]
constexpr bool is_NI(unicode_bidi_class
const &rhs)
noexcept
56 using enum unicode_bidi_class;
57 return rhs == B || rhs == S || rhs == WS || rhs == ON || rhs == FSI || rhs == LRI || rhs == RLI || rhs == PDI;
60[[nodiscard]]
constexpr unicode_bidi_class unicode_bidi_class_from_string(std::string_view str)
noexcept
62 using enum unicode_bidi_class;
66 }
else if (str ==
"R") {
68 }
else if (str ==
"AL") {
70 }
else if (str ==
"EN") {
72 }
else if (str ==
"ES") {
74 }
else if (str ==
"ET") {
76 }
else if (str ==
"AN") {
78 }
else if (str ==
"CS") {
80 }
else if (str ==
"NSM") {
82 }
else if (str ==
"BN") {
84 }
else if (str ==
"B") {
86 }
else if (str ==
"S") {
88 }
else if (str ==
"WS") {
90 }
else if (str ==
"ON") {
92 }
else if (str ==
"LRE") {
94 }
else if (str ==
"LRO") {
96 }
else if (str ==
"RLE") {
98 }
else if (str ==
"RLO") {
100 }
else if (str ==
"PDF") {
102 }
else if (str ==
"LRI") {
104 }
else if (str ==
"RLI") {
106 }
else if (str ==
"FSI") {
108 }
else if (str ==
"PDI") {