5#include <initializer_list>
12vector<string>
split(
const string& str,
16vector<string>
split(
const string& str,
const string& delim);
18template <
typename Iter,
typename T>
19string join(Iter start, Iter end, T&& delim) {
25 for (; start != end; start++) {
32template <
typename C,
typename T>
33inline string join(C&& container, T&& delim) {
34 return join(std::begin(container), std::end(container), delim);
37template <
typename C,
typename T>
38inline string join(std::initializer_list<C>&& container, T&& delim) {
39 return join(std::begin(container), std::end(container), delim);
SplitBehavior
Definition strings.h:10
@ KeepToken
Definition strings.h:10
@ SkipToken
Definition strings.h:10
string join(Iter start, Iter end, T &&delim)
Definition strings.h:19
vector< string > split(const string &str, const string &delim, SplitBehavior behavior)
Definition strings.cc:6