10 const std::string &
str,
11 const std::string &separators,
14 size_t token_start = 0, token_length = 0;
15 for (
size_t i = 0; i <
str.length(); ++i) {
16 const char ch =
str[i];
17 if (separators.find(ch) == std::string::npos) {
23 if (token_length > 0 || !skip_empty) {
24 std::string token =
str.substr(token_start, token_length);
25 tokens->push_back(token);
33 if ((token_length != 0) || (!skip_empty && token_start > 0 &&
34 separators.find(
str[token_start - 1]) != std::string::npos))
36 std::string token =
str.substr(token_start, token_length);
37 tokens->push_back(token);