Мне было интересно, возможно ли получить значение индекса базовой строки при разборе с использованием жетонов буста.
word_count_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::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;
}
Чего я хочу достичь: в моем цикле while я хотел бы получить доступ к индексу совпадения.Я думал что-то вроде
std::distance(str.begin(), it)
, но это не работает из-за его типа.