C++ 在boost中解析标记时的基础字符串索引
我想知道在使用boost标记进行解析时,是否有可能获得底层字符串的索引值 word\u count\u lexer是一个boost::spirit::lex::lexer 以下是我的示例代码:C++ 在boost中解析标记时的基础字符串索引,c++,boost,boost-spirit,C++,Boost,Boost Spirit,我想知道在使用boost标记进行解析时,是否有可能获得底层字符串的索引值 word\u count\u lexer是一个boost::spirit::lex::lexer 以下是我的示例代码: base_iterator first = str.begin(); base_iterator last = str.end(); lexer_type::iterator_type iter = word_count_lexer.begin(first, last); lexer_type::iter
base_iterator first = str.begin();
base_iterator last = str.end();
lexer_type::iterator_type iter = word_count_lexer.begin(first, last);
lexer_type::iterator_type end = word_count_lexer.end();
while (iter != end && token_is_valid(*iter)) {
if(iter->id() == ID_WORD) {
std::cout << iter->value() << std::endl;
}
++iter;
++w;
}
但由于it类型的原因,这在这里不起作用。我发现了一个关于这个主题的讨论。
最终我改变了我的方法,使用了不同的解析策略 我发现了一个关于这个话题的讨论。 最终我改变了我的方法,使用了不同的解析策略
std::distance(str.begin(), it)