libstdc++
std::__detail::_Scanner< _CharT > Class Template Reference

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
}
 

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_scanner.h.

Member Enumeration Documentation

◆ _TokenT

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

Token types returned from the scanner.

Definition at line 46 of file regex_scanner.h.


The documentation for this class was generated from the following files: