diff options
| author | Alexander Gavrilov | 2012-03-17 12:52:22 +0400 |
|---|---|---|
| committer | Alexander Gavrilov | 2012-03-17 12:52:22 +0400 |
| commit | 58eb199036db3662ec2f7a2d6d301e7f432d5639 (patch) | |
| tree | c01d46ab4d403cd900ddbf6e0c31c22946c02a7c /library/MiscUtils.cpp | |
| parent | 14d6a62e1d212808623f1a71b3c559ac4a8dada3 (diff) | |
| download | dfhack-58eb199036db3662ec2f7a2d6d301e7f432d5639.tar.gz dfhack-58eb199036db3662ec2f7a2d6d301e7f432d5639.tar.bz2 dfhack-58eb199036db3662ec2f7a2d6d301e7f432d5639.tar.xz | |
Add many new template functions for enums & bitfields.
An incompatible change: ENUM_KEY_STR returns std::string now.
The old behavior is available via enum_item_key_str function.
Diffstat (limited to 'library/MiscUtils.cpp')
| -rw-r--r-- | library/MiscUtils.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/library/MiscUtils.cpp b/library/MiscUtils.cpp index dff8af0a..8247cd00 100644 --- a/library/MiscUtils.cpp +++ b/library/MiscUtils.cpp @@ -36,6 +36,8 @@ distribution. #include <ctype.h> #include <stdarg.h> +#include <sstream> + std::string stl_sprintf(const char *fmt, ...) { va_list lst; va_start(lst, fmt); @@ -82,6 +84,20 @@ bool split_string(std::vector<std::string> *out, return out->size() > 1; } +std::string join_strings(const std::string &separator, const std::vector<std::string> &items) +{ + std::stringstream ss; + + for (size_t i = 0; i < items.size(); i++) + { + if (i) + ss << separator; + ss << items[i]; + } + + return ss.str(); +} + std::string toUpper(const std::string &str) { std::string rv(str.size(),' '); |
