mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-22 09:19:03 +00:00
AK: Add StringView::hash()
This grabs the hash from the underlying StringImpl if there is one, otherwise it's computed on the fly.
This commit is contained in:
@@ -109,4 +109,13 @@ unsigned StringView::to_uint(bool& ok) const
|
||||
return value;
|
||||
}
|
||||
|
||||
unsigned StringView::hash() const
|
||||
{
|
||||
if (is_empty())
|
||||
return 0;
|
||||
if (m_impl)
|
||||
return m_impl->hash();
|
||||
return string_hash(characters_without_null_termination(), length());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -39,6 +39,8 @@ public:
|
||||
int length() const { return m_length; }
|
||||
char operator[](int index) const { return m_characters[index]; }
|
||||
|
||||
unsigned hash() const;
|
||||
|
||||
StringView substring_view(int start, int length) const;
|
||||
Vector<StringView> split_view(char) const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user