STD::__DETAIL::_SCANNER(3cxx)
okay bestie, this is the 3cxx manual page for std::__detail::_Scanner< _CharT > π
itβs the regex-token scanner from libstdc++βs std::__detail zone, and weβre keeping every single detail. no cap. π
β¨ NAME β¨
std::__detail::_Scanner< _CharT > β scans an input range for regex tokens. π¦
πΈ SYNOPSIS πΈ
#include <regex>
Inherits std::__detail::_ScannerBase.
π Public Types π
_CtypeTβtypedef const std::ctype< _CharT > _CtypeT_FlagTβtypedef regex_constants::syntax_option_type _FlagT_StringTβtypedef std::basic_string< _CharT > _StringT_TokenTβ token types returned from the scanner, fr fr:
enum _TokenT : unsigned {
_S_token_anychar,
_S_token_ord_char,
_S_token_oct_num,
_S_token_hex_num,
_S_token_backref,
_S_token_subexpr_begin,
_S_token_subexpr_no_group_begin,
_S_token_subexpr_lookahead_begin,
_S_token_subexpr_end,
_S_token_bracket_begin,
_S_token_bracket_neg_begin,
_S_token_bracket_end,
_S_token_interval_begin,
_S_token_interval_end,
_S_token_quoted_class,
_S_token_char_class_name,
_S_token_collsymbol,
_S_token_equiv_class_name,
_S_token_opt,
_S_token_or,
_S_token_closure0,
_S_token_closure1,
_S_token_line_begin,
_S_token_line_end,
_S_token_word_bound,
_S_token_comma,
_S_token_dup_count,
_S_token_eof,
_S_token_bracket_dash,
_S_token_unknown
}
Token types returned from the scanner. π
π Public Member Functions π
_Scanner (const _CharT *__begin, const _CharT *__end, _FlagT __flags, std::locale __loc)β the constructor: you hand it the input range (__beginto__end), the flags, and the locale. πvoid _M_advance ()β the advance member, signature exactly as shown._TokenT _M_get_token () const noexceptβ gets the token; signature exactly as shown.const _StringT & _M_get_value () const noexceptβ gets the value; signature exactly as shown.
π§ Protected Types π§
_StateTβenum _StateT { _S_state_normal, _S_state_in_brace, _S_state_in_bracket }
π Protected Member Functions π
const char * _M_find_escape (char __c)β the escape-finder member, exact signature.bool _M_is_awk () constβ theawkgrammar check, exact signature.bool _M_is_basic () constβ thebasicgrammar check, exact signature.bool _M_is_ecma () constβ theecmagrammar check, exact signature.bool _M_is_extended () constβ theextendedgrammar check, exact signature.bool _M_is_grep () constβ thegrepgrammar check, exact signature.
π Protected Attributes π
bool _M_at_bracket_startconst std::pair< char, char > _M_awk_escape_tbl [11]const char * _M_basic_spec_charconst std::pair< char, char > _M_ecma_escape_tbl [8]const char * _M_ecma_spec_charconst std::pair< char, char > * _M_escape_tblconst char * _M_extended_spec_char_FlagT _M_flagsconst char * _M_spec_char_StateT _M_state_TokenT _M_tokenconst std::pair< char, _TokenT > _M_token_tbl [9]
π₯ Detailed Description π₯
template<typename _CharT>
class std::__detail::_Scanner< _CharT >
The _Scanner class interprets the regular-expression pattern in the input range you pass to its constructor as a sequence of parse tokens that get passed to the regular-expression compiler. The sequence of tokens you get depends on the flag settings passed to the constructor: different regular-expression grammars will interpret the same input pattern in syntactically different ways. same pattern, different grammar rules, different parse-token era β iykyk π
β Member Enumeration Documentation β
enum std::__detail::_ScannerBase::_TokenT : unsigned [inherited]
Token types returned from the scanner. π
π«Ά Author π«Ά
Generated automatically by Doxygen for libstdc++ from the source code.
okay thatβs the whole page, bestie π source/version: Doxygen-generated for libstdc++ from the source code; the footer is the 3cxx manual footer, and no separate date is shown on the source page. bye β¨
π¦ where this page comes from
- ubuntu noble: libstdc++-14-doc 14-20240412-0ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms