Namespaces
Variants

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

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
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.