diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2014-12-28 11:16:51 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2014-12-28 11:16:51 +0000 |
| commit | 8cc96ec36bb6ac189fac339150185a30482c8556 (patch) | |
| tree | bab9766f44e16262e7478519672a75e162855798 /src/string.hh | |
| parent | 71bfe5498d40ff5bf7b512b3ab9e43ead8a3ce51 (diff) | |
Add a join function for joining strings using a specific char
Diffstat (limited to 'src/string.hh')
| -rw-r--r-- | src/string.hh | 13 |
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); |
