boost :: tokenizer_iterator的问题 - 如何查看下一个迭代器?

时间:2012-11-09 17:29:09

标签: c++ boost iterator

代码是这样的

 void buildIt(Object& o, Tokenizer::const_iterator begin, Tokenizer::const_iterator end){
   if(begin == end) return;
   else{
    string parent = *begin;
    bool hasChild = (begin+1) != end; //error: class booost::token_iterator<...> has no member named 'advance'
   }
 }

如何在不移动的情况下检查下一个迭代器是否有效?

2 个答案:

答案 0 :(得分:1)

for (Tokenizer::const_iterator i = begin; i!= end; ++i) {
    ...
}

答案 1 :(得分:1)

您始终只需复制迭代器并增加副本即可。或者使用boost::next

if(boost::next(iter) == end)
  cout << "...";