diff --git a/AK/StringBuilder.cpp b/AK/StringBuilder.cpp index 932699e208d..ad161a2e1ea 100644 --- a/AK/StringBuilder.cpp +++ b/AK/StringBuilder.cpp @@ -36,6 +36,13 @@ inline ErrorOr StringBuilder::will_append(size_t size) return {}; } +ErrorOr StringBuilder::create(size_t initial_capacity) +{ + StringBuilder builder; + TRY(builder.m_buffer.try_ensure_capacity(initial_capacity)); + return builder; +} + StringBuilder::StringBuilder(size_t initial_capacity) { m_buffer.ensure_capacity(initial_capacity); diff --git a/AK/StringBuilder.h b/AK/StringBuilder.h index 78790d9c223..5e28ef03009 100644 --- a/AK/StringBuilder.h +++ b/AK/StringBuilder.h @@ -18,6 +18,8 @@ class StringBuilder { public: using OutputType = DeprecatedString; + static ErrorOr create(size_t initial_capacity = inline_capacity); + explicit StringBuilder(size_t initial_capacity = inline_capacity); ~StringBuilder() = default;