43 :
N (str.size ()),
a (str.data ()){};
44 operator std::basic_string<T> () {
return std::basic_string<T> (
a,
N); };
71 if (a.N !=
b.N)
return false;
72 const T *
Sa= a.a, *
Sb=
b.a;
74 for (
int i= 0; i < n; i++)
75 if (
Sa[i] !=
Sb[i])
return false;
79template <
typename T,
size_t Na>
85template <
typename T,
size_t Nb>
94 if (a.N !=
b.N)
return true;
95 const T *
Sa= a.a, *
Sb=
b.a;
97 for (
int i= 0; i < n; i++)
98 if (
Sa[i] !=
Sb[i])
return true;
102template <
typename T,
size_t Nb>
108template <
typename T,
size_t Na>
118 const T *
Sa= a.a, *
Sb=
b.a;
119 for (i= 0; i <
nmin; i++) {
120 if (
Sa[i] <
Sb[i])
return true;
121 if (
Sb[i] <
Sa[i])
return false;
126template <
typename T,
size_t Nb>
132template <
typename T,
size_t Na>
142 const T *
Sa= a.a, *
Sb=
b.a;
143 for (i= 0; i <
nmin; i++) {
144 if (
Sa[i] <
Sb[i])
return true;
145 if (
Sb[i] <
Sa[i])
return false;
150template <
typename T,
size_t Nb>
156template <
typename T,
size_t Na>
The list class represents a linked list.
string_view(string_view< T > &&)=default
string_view(const T *a_, int N_)
string_view(const string_view< T > &)=delete
constexpr string_view(const std::basic_string< T > &str)
string_view< T > operator()(int start, int end) const
constexpr string_view(const T(&null_end_str)[N_])
string_view & operator=(const string_view< T > &)=delete
SI min(SI i, SI j)
Returns the minimum of two signed integers.
SI max(SI i, SI j)
Returns the maximum of two signed integers.
bool operator!=(lolly_tree< T > t, int lab)
bool operator<(string_u16 a, string_u16 b)
bool operator==(lolly_tree< T > t, int lab)
bool operator<=(string_u16 a, string_u16 b)