summaryrefslogtreecommitdiff
path: root/src/string.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2014-12-28 11:16:51 +0000
committerMaxime Coste <frrrwww@gmail.com>2014-12-28 11:16:51 +0000
commit8cc96ec36bb6ac189fac339150185a30482c8556 (patch)
treebab9766f44e16262e7478519672a75e162855798 /src/string.hh
parent71bfe5498d40ff5bf7b512b3ab9e43ead8a3ce51 (diff)
Add a join function for joining strings using a specific char
Diffstat (limited to 'src/string.hh')
-rw-r--r--src/string.hh13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/string.hh b/src/string.hh
index 91df1b98..8cbd7a68 100644
--- a/src/string.hh
+++ b/src/string.hh
@@ -235,6 +235,19 @@ std::vector<StringView> split(StringView str, char separator);
String escape(StringView str, StringView characters, char escape);
String unescape(StringView str, StringView characters, char escape);
+template<typename Container>
+String join(const Container& container, char joiner)
+{
+ String res;
+ for (const auto& str : container)
+ {
+ if (not res.empty())
+ res += joiner;
+ res += escape(str, joiner, '\\');
+ }
+ return res;
+}
+
inline String operator"" _str(const char* str, size_t)
{
return String(str);