17#ifndef TOOLBOX_UTIL_TOKENISER_HPP
18#define TOOLBOX_UTIL_TOKENISER_HPP
25inline namespace util {
26using sv = std::string_view;
50 j_ = std::find_first_of(i_, buf_.cend(), delims_.cbegin(), delims_.cend());
60 return buf_.substr(i_ - buf_.cbegin(), j_ - i_);
70 if (j_ != buf_.cend()) {
72 j_ = std::find_first_of(i_, buf_.cend(), delims_.cbegin(), delims_.cend());
79 std::string_view buf_;
80 std::string_view delims_;
82 std::string_view::const_iterator i_, j_;
85template <
typename FnT>
89 while (
lines.has_delim()) {
93 return lines.consumed();
96template <std::
size_t N>
97using Row = std::array<std::string_view, N>;
99template <std::
size_t N>