Remove String clipping constructors.
Callers should instead call constructors with explicit encoding names, with known length `Span`.
This commit is contained in:
parent
b377562b52
commit
a23f630781
12 changed files with 24 additions and 41 deletions
|
|
@ -252,15 +252,9 @@ class String {
|
|||
void parse_latin1(const char *p_cstr) {
|
||||
parse_latin1(Span(p_cstr, p_cstr ? strlen(p_cstr) : 0));
|
||||
}
|
||||
void parse_latin1(const char *p_cstr, int p_clip_to) {
|
||||
parse_latin1(Span(p_cstr, p_cstr ? _strlen_clipped(p_cstr, p_clip_to) : 0));
|
||||
}
|
||||
void parse_utf32(const char32_t *p_cstr) {
|
||||
parse_utf32(Span(p_cstr, p_cstr ? strlen(p_cstr) : 0));
|
||||
}
|
||||
void parse_utf32(const char32_t *p_cstr, int p_clip_to) {
|
||||
parse_utf32(Span(p_cstr, p_cstr ? _strlen_clipped(p_cstr, p_clip_to) : 0));
|
||||
}
|
||||
|
||||
// wchar_t copy_from depends on the platform.
|
||||
void parse_wstring(const Span<wchar_t> &p_cstr) {
|
||||
|
|
@ -281,15 +275,6 @@ class String {
|
|||
parse_utf32((const char32_t *)p_cstr);
|
||||
#endif
|
||||
}
|
||||
void parse_wstring(const wchar_t *p_cstr, int p_clip_to) {
|
||||
#ifdef WINDOWS_ENABLED
|
||||
// wchar_t is 16-bit, parse as UTF-16
|
||||
parse_utf16((const char16_t *)p_cstr, p_clip_to);
|
||||
#else
|
||||
// wchar_t is 32-bit, copy directly
|
||||
parse_utf32((const char32_t *)p_cstr, p_clip_to);
|
||||
#endif
|
||||
}
|
||||
|
||||
bool _base_is_subsequence_of(const String &p_string, bool case_insensitive) const;
|
||||
int _count(const String &p_string, int p_from, int p_to, bool p_case_insensitive) const;
|
||||
|
|
@ -540,6 +525,11 @@ public:
|
|||
static String utf16(const Span<char16_t> &p_range) { return utf16(p_range.ptr(), p_range.size()); }
|
||||
|
||||
void parse_utf32(const Span<char32_t> &p_cstr);
|
||||
static String utf32(const Span<char32_t> &p_span) {
|
||||
String string;
|
||||
string.parse_utf32(p_span);
|
||||
return string;
|
||||
}
|
||||
|
||||
static uint32_t hash(const char32_t *p_cstr, int p_len); /* hash the string */
|
||||
static uint32_t hash(const char32_t *p_cstr); /* hash the string */
|
||||
|
|
@ -633,15 +623,6 @@ public:
|
|||
String(const char32_t *p_cstr) {
|
||||
parse_utf32(p_cstr);
|
||||
}
|
||||
String(const char *p_cstr, int p_clip_to_len) {
|
||||
parse_latin1(p_cstr, p_clip_to_len);
|
||||
}
|
||||
String(const wchar_t *p_cstr, int p_clip_to_len) {
|
||||
parse_wstring(p_cstr, p_clip_to_len);
|
||||
}
|
||||
String(const char32_t *p_cstr, int p_clip_to_len) {
|
||||
parse_utf32(p_cstr, p_clip_to_len);
|
||||
}
|
||||
|
||||
// Copy assignment for NULL terminated C strings.
|
||||
void operator=(const char *p_cstr) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue