From b253bca8073751310fa8583cfd7fe912f55f14a5 Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Tue, 22 Feb 2022 21:31:05 +0000 Subject: [PATCH] AK: Add optional format string parameter to String{,Builder}::join() Allow specifying a custom format string that's being used for each item instead of hardcoding "{}". --- AK/String.h | 4 ++-- AK/StringBuilder.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/AK/String.h b/AK/String.h index 27f7799fa7..1449f7e127 100644 --- a/AK/String.h +++ b/AK/String.h @@ -102,10 +102,10 @@ public: [[nodiscard]] static String roman_number_from(size_t value); template - [[nodiscard]] static String join(const SeparatorType& separator, const CollectionType& collection) + [[nodiscard]] static String join(const SeparatorType& separator, const CollectionType& collection, StringView fmtstr = "{}"sv) { StringBuilder builder; - builder.join(separator, collection); + builder.join(separator, collection, fmtstr); return builder.build(); } diff --git a/AK/StringBuilder.h b/AK/StringBuilder.h index 6abf6d99a2..869c20446c 100644 --- a/AK/StringBuilder.h +++ b/AK/StringBuilder.h @@ -70,7 +70,7 @@ public: void trim(size_t count) { m_buffer.resize(m_buffer.size() - count); } template - void join(SeparatorType const& separator, CollectionType const& collection) + void join(SeparatorType const& separator, CollectionType const& collection, StringView fmtstr = "{}"sv) { bool first = true; for (auto& item : collection) { @@ -78,7 +78,7 @@ public: first = false; else append(separator); - appendff("{}", item); + appendff(fmtstr, item); } }