увеличить возвращаемое значение string_algo при ошибке поиска - PullRequest
2 голосов
/ 29 апреля 2011

Я хочу найти первый пробел в строке, используя сначала команду boost :: string_algo:

const boost::iterator_range<std::string::iterator> token_range = boost::find_first(line, " ");

Я не могу найти ничего в документах, которые говорят, что это возвращает, если не делаетне могу найти место, хотяНужно ли проверять token_range.end () на соответствие line.end () или что-то еще?

Спасибо!

1 Ответ

4 голосов
/ 29 апреля 2011

Я думаю, вы должны просто проверить 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...