summaryrefslogtreecommitdiff
path: root/src/utils/split.cpp
blob: 82852eecc1377d0ec751c9257dcccd4e011ce9d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <utils/split.hpp>

namespace utils
{
  std::vector<std::string> split(const std::string &s, const char delim, const bool allow_empty)
  {
    std::vector<std::string> ret;
    std::stringstream ss(s);
    std::string item;
    while (std::getline(ss, item, delim))
      {
        if (item.empty() && !allow_empty)
          continue ;
        ret.emplace_back(std::move(item));
      }
    return ret;
  }
}