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("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.

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

Spec-Zone.ru

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