15 explicit Tokenizer(
const std::vector<char>& separators);
16 explicit Tokenizer(
const std::vector<std::pair<char, char>>& enclosures);
17 Tokenizer(
const std::vector<char>& separators,
const std::vector<std::pair<char, char>>& enclosures);
25 void tokenize(
const std::string& source, std::vector<std::string>& out_results)
const;
28 std::vector<char> m_separators;
29 std::vector<std::pair<char, char>> m_enclosures;
31 std::size_t extractSeparatorSeparatedToken(
const std::string& source,
const std::size_t startIndex,
32 std::vector<std::string>& out_results)
const;
33 std::size_t extractEnclosureSeparatedToken(
const std::string& source,
const std::size_t startIndex,
const char enclosureStart,
34 std::vector<std::string>& out_results)
const;
35 bool isSeparator(
const char character)
const;
36 bool isEnclosureStart(
const char startCh)
const;
37 bool isEnclosurePair(
const char startCh,
const char endCh)
const;