diff options
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); |
