summary refs log tree commit diff stats
path: root/lib/util.h
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2016-03-16 21:35:35 -0400
committerKelly Rauchenberger <fefferburbia@gmail.com>2016-03-16 21:35:35 -0400
commitdc210ee6eba3b1d173808bd858113f6abd90bff1 (patch)
treea28d2fce73455eecb87449fc1964c883aef61cd5 /lib/util.h
parentae5f75965f8202c8478622763a27ef1848a8ed1a (diff)
downloadverbly-dc210ee6eba3b1d173808bd858113f6abd90bff1.tar.gz
verbly-dc210ee6eba3b1d173808bd858113f6abd90bff1.tar.bz2
verbly-dc210ee6eba3b1d173808bd858113f6abd90bff1.zip
Added word derivational relationships (kind of eh at the moment) and moved verbly into its own directory
Diffstat (limited to 'lib/util.h')
-rw-r--r--lib/util.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/lib/util.h b/lib/util.h new file mode 100644 index 0000000..815b47c --- /dev/null +++ b/lib/util.h
@@ -0,0 +1,53 @@
1#ifndef UTIL_H_15DDCA2D
2#define UTIL_H_15DDCA2D
3
4#include <string>
5#include <iterator>
6#include <sstream>
7
8namespace verbly {
9
10 template <class InputIterator>
11 std::string implode(InputIterator first, InputIterator last, std::string delimiter)
12 {
13 std::stringstream result;
14
15 for (InputIterator it = first; it != last; it++)
16 {
17 if (it != first)
18 {
19 result << delimiter;
20 }
21
22 result << *it;
23 }
24
25 return result.str();
26 }
27
28 template <class Container>
29 Container split(std::string input, std::string delimiter)
30 {
31 Container result;
32
33 while (!input.empty())
34 {
35 int divider = input.find(" ");
36 if (divider == std::string::npos)
37 {
38 result.push_back(input);
39
40 input = "";
41 } else {
42 result.push_back(input.substr(0, divider));
43
44 input = input.substr(divider+1);
45 }
46 }
47
48 return result;
49 }
50
51};
52
53#endif /* end of include guard: UTIL_H_15DDCA2D */