std::match_results<BidirIt,Alloc>:: ready
|
bool
ready
(
)
const
;
|
(начиная с C++11) | |
Указывает, готовы (валидны) ли результаты сопоставления или нет.
Конструктор по умолчанию для объекта результата сопоставления не устанавливает состояние результата (не является готовым ), и может быть переведен в готовое состояние только одним из алгоритмов регулярных выражений. Состояние готовности подразумевает, что все результаты сопоставления были полностью установлены.
Результат вызова большинства функций-членов объекта
match_results
, который не находится в состоянии
ready
, является неопределённым.
Возвращаемое значение
true если результаты сопоставления готовы, false в противном случае.
Пример
#include <iostream> #include <regex> #include <string> int main() { std::string target("big-red-cat"); std::smatch sm; std::cout << "Default constructed smatch is " << (sm.ready() ? "ready.\n" : "not ready.\n"); std::regex re1(".*-red-.*"); 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.