19 using std::string_view;
24 std::string lower_str{
s};
25 std::transform(lower_str.begin(), lower_str.end(), lower_str.begin(),
26 [](
unsigned char c) {
return std::tolower(c); });
30 namespace modernstrutil
32 std::vector<std::string_view>
split(
const string_view
s,
const string_view delimiters)
34 std::vector<std::string_view> tokens;
39 left =
s.find_first_not_of(delimiters, right);
43 right =
s.find_first_of(delimiters, left);
46 size_t count = right - left;
47 tokens.push_back(
s.substr(left, count));
52 std::string_view
strip(
const string_view
s)
54 std::string_view delimiters =
" \t\n\0";
55 size_t left =
s.find_first_not_of(delimiters, 0);
57 size_t right =
s.find_last_not_of(delimiters,
s.npos);
58 return s.substr(left, right - left + 1);
61 return std::string_view{};
helper functions for EinsplineSetBuilder
std::string_view strip(const string_view s)
std::string lowerCase(const std::string_view s)
++17
std::vector< std::string_view > split(const string_view s, const string_view delimiters)