summaryrefslogtreecommitdiff
path: root/plugins/!NotAdopted/name_day/utils/string_tokenizer.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/!NotAdopted/name_day/utils/string_tokenizer.h')
-rw-r--r--plugins/!NotAdopted/name_day/utils/string_tokenizer.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/plugins/!NotAdopted/name_day/utils/string_tokenizer.h b/plugins/!NotAdopted/name_day/utils/string_tokenizer.h
new file mode 100644
index 0000000000..3f8cf33200
--- /dev/null
+++ b/plugins/!NotAdopted/name_day/utils/string_tokenizer.h
@@ -0,0 +1,40 @@
+/**
+ * @brief tokenizer
+ *
+ */
+#ifndef string_tokenizer_h
+#define string_tokenizer_h
+
+#include <string>
+#include <vector>
+using namespace std;
+
+static vector<string> string_tokenizer(const string &base_string, const string &delims)
+{
+ vector<string> tokens;
+
+ // Skip delimiters at beginning.
+ string::size_type last_pos = base_string.find_first_not_of(delims, 0);
+
+ // find first "non-delimiter".
+ string::size_type pos = base_string.find_first_of(delims, last_pos);
+
+ while (string::npos != pos || string::npos != last_pos) {
+
+ // found a token, add it to the vector.
+
+ tokens.push_back(base_string.substr(last_pos, pos - last_pos));
+
+ // skip delimiters.
+
+ last_pos = base_string.find_first_not_of(delims, pos);
+
+ // find next "non-delimiter"
+ pos = base_string.find_first_of(delims, last_pos);
+ }
+
+ return tokens;
+}
+
+
+#endif \ No newline at end of file