diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2016-06-03 21:41:41 +0300 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2016-06-05 22:09:39 +0300 |
commit | dce7c0afa22ca6568bbf6cca6a9cd669ef8b4b28 (patch) | |
tree | 91b35552bd0718d29c72ba8da944bb4e3d82f323 /libkms++util/strhelpers.h | |
parent | 4864a696159a510053daf30e3bf96a3b255bb3ed (diff) |
util: add helpers
Diffstat (limited to 'libkms++util/strhelpers.h')
-rw-r--r-- | libkms++util/strhelpers.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/libkms++util/strhelpers.h b/libkms++util/strhelpers.h new file mode 100644 index 0000000..2c540f3 --- /dev/null +++ b/libkms++util/strhelpers.h @@ -0,0 +1,33 @@ +#include <sstream> +#include <string> +#include <vector> +#include <functional> + +std::string to_lower(const std::string& str); + +template <typename T> +std::string join(const T& values, const std::string& delim) +{ + std::ostringstream ss; + for (const auto& v : values) { + if (&v != &values[0]) + ss << delim; + ss << v; + } + return ss.str(); +} + +template <typename T> +std::string join(const std::vector<T>& values, const std::string& delim, std::function<std::string(T)> func) +{ + std::ostringstream ss; + for (const auto& v : values) { + if (&v != &values[0]) + ss << delim; + ss << func(v); + } + return ss.str(); +} + +std::string sformat(const char *fmt, ...) + __attribute__ ((format (printf, 1, 2))); |