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