summaryrefslogtreecommitdiff
path: root/bot/src/utils
diff options
context:
space:
mode:
Diffstat (limited to 'bot/src/utils')
-rw-r--r--bot/src/utils/string.cpp22
-rw-r--r--bot/src/utils/string.hpp3
2 files changed, 25 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;
+ }
}
}
}
diff --git a/bot/src/utils/string.hpp b/bot/src/utils/string.hpp
index c8385ad..c1f0121 100644
--- a/bot/src/utils/string.hpp
+++ b/bot/src/utils/string.hpp
@@ -27,6 +27,9 @@ namespace bot {
}
bool string_contains_sql_injection(const std::string &input);
+
+ std::vector<std::vector<std::string>> separate_by_length(
+ const std::vector<std::string> &vector, const int &max_length);
}
}
}