7 using delim_type = std::pair<std::string, std::string>;
12 text, variable, section_open, section_close, inverted_section_open,
13 unescaped_variable, comment, partial, delimiter_change
15 token(const std::string& str, std::size_t left = 0, std::size_t right = 0);
16 type token_type() const { return m_type; };
17 const std::string& raw() const { return m_raw; };
18 const std::string& name() const { return m_name; };
19 const std::string& partial_prefix() const { return m_partial_prefix; };
20 const delim_type& delims() const { return m_delims; };
21 void partial_prefix(const std::string& p_partial_prefix) {
22 m_partial_prefix = p_partial_prefix;
24 bool eol() const { return m_eol; }
25 void eol(bool eol) { m_eol = eol; }
26 bool ws_only() const { return m_ws_only; }
32 std::string m_partial_prefix;
36 type token_info(char c);