mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 07:30:19 +00:00
AK: Add convenience substring wrappers to String to exclude a length
These overloads exist on other string classes and are used throughout the code base.
This commit is contained in:
parent
427b82065c
commit
76fd5f2756
Notes:
sideshowbarker
2024-07-18 00:41:35 +09:00
Author: https://github.com/trflynn89 Commit: https://github.com/SerenityOS/serenity/commit/76fd5f2756 Pull-request: https://github.com/SerenityOS/serenity/pull/17132 Reviewed-by: https://github.com/linusg
2 changed files with 14 additions and 0 deletions
|
@ -354,6 +354,12 @@ ErrorOr<String> String::substring_from_byte_offset(size_t start, size_t byte_cou
|
||||||
return String::from_utf8(bytes_as_string_view().substring_view(start, byte_count));
|
return String::from_utf8(bytes_as_string_view().substring_view(start, byte_count));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ErrorOr<String> String::substring_from_byte_offset(size_t start) const
|
||||||
|
{
|
||||||
|
VERIFY(start <= bytes_as_string_view().length());
|
||||||
|
return substring_from_byte_offset(start, bytes_as_string_view().length() - start);
|
||||||
|
}
|
||||||
|
|
||||||
ErrorOr<String> String::substring_from_byte_offset_with_shared_superstring(size_t start, size_t byte_count) const
|
ErrorOr<String> String::substring_from_byte_offset_with_shared_superstring(size_t start, size_t byte_count) const
|
||||||
{
|
{
|
||||||
if (!byte_count)
|
if (!byte_count)
|
||||||
|
@ -363,6 +369,12 @@ ErrorOr<String> String::substring_from_byte_offset_with_shared_superstring(size_
|
||||||
return String { TRY(Detail::StringData::create_substring(*m_data, start, byte_count)) };
|
return String { TRY(Detail::StringData::create_substring(*m_data, start, byte_count)) };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ErrorOr<String> String::substring_from_byte_offset_with_shared_superstring(size_t start) const
|
||||||
|
{
|
||||||
|
VERIFY(start <= bytes_as_string_view().length());
|
||||||
|
return substring_from_byte_offset_with_shared_superstring(start, bytes_as_string_view().length() - start);
|
||||||
|
}
|
||||||
|
|
||||||
bool String::operator==(char const* c_string) const
|
bool String::operator==(char const* c_string) const
|
||||||
{
|
{
|
||||||
return bytes_as_string_view() == c_string;
|
return bytes_as_string_view() == c_string;
|
||||||
|
|
|
@ -107,9 +107,11 @@ public:
|
||||||
|
|
||||||
// Creates a substring with a deep copy of the specified data window.
|
// Creates a substring with a deep copy of the specified data window.
|
||||||
ErrorOr<String> substring_from_byte_offset(size_t start, size_t byte_count) const;
|
ErrorOr<String> substring_from_byte_offset(size_t start, size_t byte_count) const;
|
||||||
|
ErrorOr<String> substring_from_byte_offset(size_t start) const;
|
||||||
|
|
||||||
// Creates a substring that strongly references the origin superstring instead of making a deep copy of the data.
|
// Creates a substring that strongly references the origin superstring instead of making a deep copy of the data.
|
||||||
ErrorOr<String> substring_from_byte_offset_with_shared_superstring(size_t start, size_t byte_count) const;
|
ErrorOr<String> substring_from_byte_offset_with_shared_superstring(size_t start, size_t byte_count) const;
|
||||||
|
ErrorOr<String> substring_from_byte_offset_with_shared_superstring(size_t start) const;
|
||||||
|
|
||||||
// Returns an iterable view over the Unicode code points.
|
// Returns an iterable view over the Unicode code points.
|
||||||
[[nodiscard]] Utf8View code_points() const;
|
[[nodiscard]] Utf8View code_points() const;
|
||||||
|
|
Loading…
Reference in a new issue