diff options
Diffstat (limited to 'bot/src/utils/string.cpp')
| -rw-r--r-- | bot/src/utils/string.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/bot/src/utils/string.cpp b/bot/src/utils/string.cpp index 71c06bf..0fd01ec 100644 --- a/bot/src/utils/string.cpp +++ b/bot/src/utils/string.cpp @@ -61,6 +61,28 @@ namespace bot { return false; } + + std::vector<std::vector<std::string>> separate_by_length( + const std::vector<std::string> &vector, const int &max_length) { + std::vector<std::vector<std::string>> output; + std::vector<std::string> active; + int length = 0; + + for (const std::string &str : vector) { + length += str.length(); + + if (length >= max_length) { + output.push_back(active); + active = {str}; + } else { + active.push_back(str); + } + } + + if (!active.empty()) output.push_back(active); + + return output; + } } } } |
