std::__detail::_Scanner< _CharT > Class Template Reference
Regular Expressions » Base and Implementation Classes

Inherits std::__detail::_ScannerBase.

## Public Types

typedef const std::ctype< _CharT > | _CtypeT
typedef regex_constants::syntax_option_type | _FlagT
typedef const _CharT * | _IterT
typedef std::basic_string< _CharT > | _StringT

enum

_TokenT {
_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_unknown
}

## Public Member Functions

| _Scanner (_IterT __begin, _IterT __end, _FlagT __flags, std::locale __loc)
void | _M_advance ()
_TokenT | _M_get_token () const
const _StringT & | _M_get_value () const

## 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 209 of file regex_scanner.h.

## Member Enumeration Documentation

## _TokenT

enum std::__detail::_ScannerBase::_TokenT

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:

- regex_scanner.h
- regex_scanner.tcc