AK: Add String starts_with(char) & ends_with(char)

This is simply meant to be a more efficient implementation in the
case that we only need to check a single character.
This commit is contained in:
Shannon Booth 2020-02-15 13:04:00 +13:00 committed by Andreas Kling
parent 0e3a9d8e9d
commit 9920d17342
Notes: sideshowbarker 2024-07-19 09:19:24 +09:00
3 changed files with 19 additions and 0 deletions

View file

@ -295,6 +295,13 @@ bool String::starts_with(const StringView& str) const
return !memcmp(characters(), str.characters_without_null_termination(), str.length());
}
bool String::starts_with(char ch) const
{
if (is_empty())
return false;
return characters()[0] == ch;
}
bool String::ends_with(const StringView& str) const
{
if (str.is_empty())
@ -306,6 +313,12 @@ bool String::ends_with(const StringView& str) const
return !memcmp(characters() + (length() - str.length()), str.characters_without_null_termination(), str.length());
}
bool String::ends_with(char ch) const
{
if (is_empty())
return false;
return characters()[length() - 1] == ch;
}
String String::repeated(char ch, size_t count)
{
if (!count)