diff --git a/AK/StringBuilder.cpp b/AK/StringBuilder.cpp index 53ad4ba75d..b692bd4a4d 100644 --- a/AK/StringBuilder.cpp +++ b/AK/StringBuilder.cpp @@ -68,9 +68,19 @@ ByteBuffer StringBuilder::to_byte_buffer() String StringBuilder::to_string() { auto string = String((const char*)m_buffer.pointer(), m_length); - m_buffer.clear(); - m_length = 0; + clear(); return string; } +StringView StringBuilder::string_view() const +{ + return StringView { (const char*)m_buffer.pointer(), m_length }; +} + +void StringBuilder::clear() +{ + m_buffer.clear(); + m_length = 0; +} + } diff --git a/AK/StringBuilder.h b/AK/StringBuilder.h index 9da31a7e86..b5f9a887f7 100644 --- a/AK/StringBuilder.h +++ b/AK/StringBuilder.h @@ -24,6 +24,9 @@ public: String to_string(); ByteBuffer to_byte_buffer(); + StringView string_view() const; + void clear(); + private: void will_append(int);