31 namespace std _GLIBCXX_VISIBILITY(default)
35 _GLIBCXX_BEGIN_NAMESPACE_VERSION
53 _S_token_subexpr_begin,
54 _S_token_subexpr_no_group_begin,
55 _S_token_subexpr_lookahead_begin,
57 _S_token_bracket_begin,
58 _S_token_bracket_neg_begin,
60 _S_token_interval_begin,
61 _S_token_interval_end,
62 _S_token_quoted_class,
63 _S_token_char_class_name,
65 _S_token_equiv_class_name,
91 _ScannerBase(_FlagT __flags)
92 : _M_state(_S_state_normal),
94 _M_escape_tbl(_M_is_ecma()
97 _M_spec_char(_M_is_ecma()
101 : _M_extended_spec_char),
102 _M_at_bracket_start(false)
107 _M_find_escape(
char __c)
109 auto __it = _M_escape_tbl;
110 for (; __it->first !=
'\0'; ++__it)
111 if (__it->first == __c)
112 return &__it->second;
125 _M_is_extended()
const
143 {
'^', _S_token_line_begin},
144 {
'$', _S_token_line_end},
145 {
'.', _S_token_anychar},
146 {
'*', _S_token_closure0},
147 {
'+', _S_token_closure1},
178 const char* _M_ecma_spec_char =
"^$\\.*+?()[]{}|";
179 const char* _M_basic_spec_char =
".[\\*^$";
180 const char* _M_extended_spec_char =
".[\\()*+?{|^$";
186 const char* _M_spec_char;
187 bool _M_at_bracket_start;
200 template<
typename _CharT>
202 :
public _ScannerBase
205 typedef const _CharT* _IterT;
210 _Scanner(_IterT __begin, _IterT __end,
224 #ifdef _GLIBCXX_DEBUG
226 _M_print(std::ostream&);
234 _M_scan_in_bracket();
240 _M_eat_escape_ecma();
243 _M_eat_escape_posix();
259 _GLIBCXX_END_NAMESPACE_VERSION
263 #include <bits/regex_scanner.tcc>
Container class for localization functionality.The locale class is first a class wrapper for C librar...
Primary class template ctype facet.This template class defines classification and conversion function...
syntax_option_type
This is a bitmask type indicating how to interpret the regex.
_TokenT
Token types returned from the scanner.
ISO C++ entities toplevel namespace is std.
Scans an input range for regex tokens.