std::match_results<BidirIt,Alloc>::ready
From cppreference.com
< cpp | regex | match results
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Text processing library
Regular expressions library (C++11)
Formatting library (C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++26)
Regular expressions library
Classes
(C++11)
(C++11)
(C++11)
Algorithms
(C++11)
(C++11)
(C++11)
Iterators
(C++11)
(C++11)
Exceptions
(C++11)
Traits
(C++11)
Constants
(C++11)
(C++11)
(C++11)
Regex Grammar
(C++11)
std::match_results
Member functions
State
match_results::ready
Element access
Iterators
Format
Modifiers
Non-member functions
(until C++20)
bool ready() const;
(since C++11)
Indicates if the match results are ready (valid) or not.
A default-constructed match result has no result state (is not ready), and can only be made ready by one of the regex algorithms. The ready state implies that all match results have been fully established.
The result of calling most member functions of the match_results
object that is not ready is undefined.
[edit] Return value
true if the match results are ready, false otherwise.
[edit] Example
Run this code
#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"); }
Output:
Default constructed smatch is not ready. After search, smatch is ready.