1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-31 15:37:47 +00:00

AK: Make String::contains(code_point) handle non-ASCII

We currently only accept a char, instead of a full code point.
This commit is contained in:
Timothy Flynn 2023-03-08 09:06:59 -05:00 committed by Linus Groh
parent f882581e91
commit 515fca4f7a
3 changed files with 50 additions and 3 deletions

View file

@ -489,9 +489,10 @@ bool String::contains(StringView needle, CaseSensitivity case_sensitivity) const
return StringUtils::contains(bytes_as_string_view(), needle, case_sensitivity);
}
bool String::contains(char needle, CaseSensitivity case_sensitivity) const
bool String::contains(u32 needle, CaseSensitivity case_sensitivity) const
{
return contains(StringView { &needle, 1 }, case_sensitivity);
auto needle_as_string = String::from_code_point(needle);
return contains(needle_as_string.bytes_as_string_view(), case_sensitivity);
}
bool String::starts_with(u32 code_point) const

View file

@ -172,7 +172,7 @@ public:
}
[[nodiscard]] bool contains(StringView, CaseSensitivity = CaseSensitivity::CaseSensitive) const;
[[nodiscard]] bool contains(char, CaseSensitivity = CaseSensitivity::CaseSensitive) const;
[[nodiscard]] bool contains(u32, CaseSensitivity = CaseSensitivity::CaseSensitive) const;
[[nodiscard]] u32 hash() const;