mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-20 19:45:12 +00:00
AK: Unify FlyString/StringView::ends_with implementation on StringUtils::ends_with
This creates a unified implementation of ends_with with case sensitivity across String/StringView/FlyString.
This commit is contained in:
parent
332f96e7ca
commit
129462cca7
Notes:
sideshowbarker
2024-07-19 06:07:37 +09:00
Author: https://github.com/bgianfo Commit: https://github.com/SerenityOS/serenity/commit/129462cca77 Pull-request: https://github.com/SerenityOS/serenity/pull/2387 Reviewed-by: https://github.com/awesomekling
4 changed files with 9 additions and 9 deletions
|
@ -98,6 +98,11 @@ bool FlyString::equals_ignoring_case(const StringView& other) const
|
|||
return StringUtils::equals_ignoring_case(view(), other);
|
||||
}
|
||||
|
||||
bool FlyString::ends_with(const StringView& str, CaseSensitivity case_sensitivity) const
|
||||
{
|
||||
return StringUtils::ends_with(view(), str, case_sensitivity);
|
||||
}
|
||||
|
||||
FlyString FlyString::to_lowercase() const
|
||||
{
|
||||
return String(*m_impl).to_lowercase();
|
||||
|
|
|
@ -85,6 +85,7 @@ public:
|
|||
int to_int(bool& ok) const;
|
||||
|
||||
bool equals_ignoring_case(const StringView&) const;
|
||||
bool ends_with(const StringView&, CaseSensitivity = CaseSensitivity::CaseSensitive) const;
|
||||
|
||||
static void did_destroy_impl(Badge<StringImpl>, StringImpl&);
|
||||
|
||||
|
|
|
@ -141,15 +141,9 @@ bool StringView::ends_with(char ch) const
|
|||
return ch == characters_without_null_termination()[length() - 1];
|
||||
}
|
||||
|
||||
bool StringView::ends_with(const StringView& str) const
|
||||
bool StringView::ends_with(const StringView& str, CaseSensitivity case_sensitivity) const
|
||||
{
|
||||
if (str.is_empty())
|
||||
return true;
|
||||
if (is_empty())
|
||||
return false;
|
||||
if (str.length() > length())
|
||||
return false;
|
||||
return !memcmp(characters_without_null_termination() + length() - str.length(), str.characters_without_null_termination(), str.length());
|
||||
return StringUtils::ends_with(*this, str, case_sensitivity);
|
||||
}
|
||||
|
||||
bool StringView::matches(const StringView& mask, CaseSensitivity case_sensitivity) const
|
||||
|
|
|
@ -73,7 +73,7 @@ public:
|
|||
unsigned hash() const;
|
||||
|
||||
bool starts_with(const StringView&) const;
|
||||
bool ends_with(const StringView&) const;
|
||||
bool ends_with(const StringView&, CaseSensitivity = CaseSensitivity::CaseSensitive) const;
|
||||
bool starts_with(char) const;
|
||||
bool ends_with(char) const;
|
||||
bool matches(const StringView& mask, CaseSensitivity = CaseSensitivity::CaseInsensitive) const;
|
||||
|
|
Loading…
Add table
Reference in a new issue