Scroll to navigation

std::__detail::_Scanner< _CharT >(3cxx) std::__detail::_Scanner< _CharT >(3cxx)

NAME

std::__detail::_Scanner< _CharT > - Scans an input range for regex tokens.

SYNOPSIS

#include <regex>

Inherits std::__detail::_ScannerBase.

Public Types


typedef const std::ctype< _CharT > _CtypeT
typedef regex_constants::syntax_option_type _FlagT
typedef std::basic_string< _CharT > _StringT
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)
void _M_advance ()
_TokenT _M_get_token () const noexcept
const _StringT & _M_get_value () const noexcept

Protected Types


enum _StateT { _S_state_normal, _S_state_in_brace, _S_state_in_bracket }

Protected Member Functions


const char * _M_find_escape (char __c)
bool _M_is_awk () const
bool _M_is_basic () const
bool _M_is_ecma () const
bool _M_is_extended () const
bool _M_is_grep () const

Protected Attributes


bool _M_at_bracket_start
const std::pair< char, char > _M_awk_escape_tbl [11]
const char * _M_basic_spec_char
const std::pair< char, char > _M_ecma_escape_tbl [8]
const char * _M_ecma_spec_char
const std::pair< char, char > * _M_escape_tbl
const char * _M_extended_spec_char
_FlagT _M_flags
const char * _M_spec_char
_StateT _M_state
_TokenT _M_token
const std::pair< char, _TokenT > _M_token_tbl [9]

Detailed Description

template<typename _CharT>

class std::__detail::_Scanner< _CharT >"Scans an input range for regex tokens.

The _Scanner class interprets the regular expression pattern in the input range passed to its constructor as a sequence of parse tokens passed to the regular expression compiler. The sequence of tokens provided depends on the flag settings passed to the constructor: different regular expression grammars will interpret the same input pattern in syntactically different ways.

Definition at line 210 of file regex.

Member Typedef Documentation

template<typename _CharT > typedef const std::ctype<_CharT> std::__detail::_Scanner< _CharT >::_CtypeT

Definition at line 216 of file regex.

template<typename _CharT > typedef regex_constants::syntax_option_type std::__detail::_Scanner< _CharT >::_FlagT

Definition at line 215 of file regex.

template<typename _CharT > typedef std::basic_string<_CharT> std::__detail::_Scanner< _CharT >::_StringT

Definition at line 214 of file regex.

Member Enumeration Documentation

enum std::__detail::_ScannerBase::_StateT [protected], [inherited]

Definition at line 83 of file regex.

enum std::__detail::_ScannerBase::_TokenT : unsigned [inherited]

Token types returned from the scanner.

Definition at line 46 of file regex.

Constructor & Destructor Documentation

template<typename _CharT > std::__detail::_Scanner< _CharT >::_Scanner (const _CharT * __begin, const _CharT * __end, _FlagT __flags, std::locale __loc)

Definition at line 56 of file regex_scanner.tcc.

Member Function Documentation

template<typename _CharT > void std::__detail::_Scanner< _CharT >::_M_advance

Definition at line 69 of file regex_scanner.tcc.

const char * std::__detail::_ScannerBase::_M_find_escape (char __c) [inline], [protected], [inherited]

Definition at line 115 of file regex.

template<typename _CharT > _TokenT std::__detail::_Scanner< _CharT >::_M_get_token () const [inline], [noexcept]

Definition at line 225 of file regex.

template<typename _CharT > const _StringT & std::__detail::_Scanner< _CharT >::_M_get_value () const [inline], [noexcept]

Definition at line 229 of file regex.

bool std::__detail::_ScannerBase::_M_is_awk () const [inline], [protected], [inherited]

Definition at line 145 of file regex.

bool std::__detail::_ScannerBase::_M_is_basic () const [inline], [protected], [inherited]

Definition at line 129 of file regex.

bool std::__detail::_ScannerBase::_M_is_ecma () const [inline], [protected], [inherited]

Definition at line 125 of file regex.

bool std::__detail::_ScannerBase::_M_is_extended () const [inline], [protected], [inherited]

Definition at line 133 of file regex.

bool std::__detail::_ScannerBase::_M_is_grep () const [inline], [protected], [inherited]

Definition at line 141 of file regex.

Member Data Documentation

bool std::__detail::_ScannerBase::_M_at_bracket_start [protected], [inherited]

Definition at line 196 of file regex.

const std::pair<char, char> std::__detail::_ScannerBase::_M_awk_escape_tbl[11] [protected], [inherited]

Definition at line 173 of file regex.

const char* std::__detail::_ScannerBase::_M_basic_spec_char [protected], [inherited]

Definition at line 188 of file regex.

const std::pair<char, char> std::__detail::_ScannerBase::_M_ecma_escape_tbl[8] [protected], [inherited]

Definition at line 162 of file regex.

const char* std::__detail::_ScannerBase::_M_ecma_spec_char [protected], [inherited]

Definition at line 187 of file regex.

const std::pair<char, char>* std::__detail::_ScannerBase::_M_escape_tbl [protected], [inherited]

Definition at line 194 of file regex.

const char* std::__detail::_ScannerBase::_M_extended_spec_char [protected], [inherited]

Definition at line 189 of file regex.

_FlagT std::__detail::_ScannerBase::_M_flags [protected], [inherited]

Definition at line 192 of file regex.

const char* std::__detail::_ScannerBase::_M_spec_char [protected], [inherited]

Definition at line 195 of file regex.

_StateT std::__detail::_ScannerBase::_M_state [protected], [inherited]

Definition at line 191 of file regex.

_TokenT std::__detail::_ScannerBase::_M_token [protected], [inherited]

Definition at line 193 of file regex.

const std::pair<char, _TokenT> std::__detail::_ScannerBase::_M_token_tbl[9] [protected], [inherited]

Definition at line 150 of file regex.

Author

Generated automatically by Doxygen for libstdc++ from the source code.

Sun Jan 8 2023 libstdc++