+ )
+ {
+ result.clear();
+ size_t current;
+ size_t next = -1;
+ do
+ {
+ if (empties == no_empties)
+ {
+ next = s.find_first_not_of(delimiters, next + 1);
+ if (next == Container::value_type::npos)
+ {
+ break;
+ }
+ next -= 1;
+ }
+ current = next + 1;
+ next = s.find_first_of(delimiters, current);
+ result.push_back(s.substr(current, next - current));
+ }
+ while (next != Container::value_type::npos);
+ return result;
+ }