Я думаю, вы должны просто проверить token_range.empty()
, например:
const boost::iterator_range<std::string::iterator> token_range = boost::find_first(line, " ");
if (!token_range.empty())
{
// Found a a match
}
boost::iterator_range
также имеет оператор преобразования bool, так что вы можете даже отбросить вызов функции empty () и просто написать:
const boost::iterator_range<std::string::iterator> token_range = boost::find_first(line, " ");
if (token_range)
{
// Found a a match
}