16 using char_type = hi::grapheme;
17 using int_type = hi::grapheme::value_type;
21 using comparison_category = std::strong_ordering;
23 static constexpr void assign(char_type &r, char_type
const &a)
noexcept
36 [[nodiscard]]
static constexpr bool eq(char_type a, char_type b)
noexcept
41 [[nodiscard]]
static constexpr bool lt(char_type a, char_type b)
noexcept
46 static constexpr char_type *
move(char_type *dst, char_type
const *src,
std::size_t count)
noexcept
54 dst[i - 1] = src[i - 1];
60 static constexpr char_type *
copy(char_type *dst, char_type
const *src,
std::size_t count)
noexcept
72 return s1[i] < s2[i] ? -1 : 1;
81 while (s[i].value != 0) {
87 static constexpr char_type
const *
find(
const char_type *p,
std::size_t count,
const char_type &ch)
noexcept
97 static constexpr char_type
to_char_type(int_type c)
noexcept
104 static constexpr int_type
to_int_type(char_type c)
noexcept
109 static constexpr bool eq_int_type(int_type c1, int_type c2)
noexcept
114 static constexpr int_type
eof()
noexcept
119 static constexpr int_type
not_eof(int_type e)
noexcept
121 return e != 0 ? e : 1;