1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-16 22:45:07 +00:00

StringView: Add starts_with method

This commit is contained in:
MinusGix 2019-09-12 06:13:07 -05:00 committed by Andreas Kling
parent 6d7c928359
commit 05f641a5a9
2 changed files with 15 additions and 0 deletions

View file

@ -40,6 +40,19 @@ Vector<StringView> StringView::split_view(const char separator) const
return v; return v;
} }
bool StringView::starts_with(const StringView& str) const
{
if (str.is_empty())
return true;
if (is_empty())
return false;
if (str.length() > length())
return false;
if (characters_without_null_termination() == str.characters_without_null_termination())
return true;
return !memcmp(characters_without_null_termination(), str.characters_without_null_termination(), str.length());
}
StringView StringView::substring_view(int start, int length) const StringView StringView::substring_view(int start, int length) const
{ {
if (!length) if (!length)

View file

@ -41,6 +41,8 @@ public:
unsigned hash() const; unsigned hash() const;
bool starts_with(const StringView&) const;
StringView substring_view(int start, int length) const; StringView substring_view(int start, int length) const;
Vector<StringView> split_view(char) const; Vector<StringView> split_view(char) const;