Spec-Zone.ru › C++

std::match_results<BidirIt,Alloc>::ready

bool ready() const;
(с C++11)

Указывает, готовы ли (валидны) результаты сопоставления или нет.

Результаты сопоставления, созданные по умолчанию, не имеют состояния результата (не готовы), и могут быть сделаны готовыми только одним из алгоритмов регулярных выражений. Состояние готовы подразумевает, что все результаты сопоставления были полностью установлены.

Результат вызова большинства методов объекта match_results, который не готов, не определён.

Возвращаемое значение

true если результаты сопоставления готовы, false в противном случае.

Пример

#include <iostream>
#include <regex>
#include <string>
 
int main()
{
    std::string target("pattern");
    std::smatch sm;
    std::cout << "default constructed smatch is "
              << (sm.ready() ? "ready\n" : "not ready\n");
 
    std::regex re1("tte");
    std::regex_search(target, sm, re1);
 
    std::cout << "after search, smatch is "
              << (sm.ready() ? "ready\n" : "not ready\n");
}

Вывод:

default constructed smatch is not ready
after search, smatch is ready

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/regex/match_results/ready

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API