Base and Implementation Classes
Regular Expressions
Collaboration diagram for Base and Implementation Classes:

## Classes

class | std::__detail::_Automaton
struct | std::__detail::_CharMatcher< _InIterT, _TraitsT >
class | std::__detail::_Compiler< _InIter, _TraitsT >
struct | std::__detail::_EndTagger< _FwdIterT, _TraitsT >
class | std::__detail::_Grep_matcher
class | std::__detail::_Nfa
struct | std::__detail::_PatternCursor
struct | std::__detail::_RangeMatcher< _InIterT, _TraitsT >
struct | std::__detail::_Results
class | std::__detail::_Scanner< _InputIterator >
struct | std::__detail::_Scanner_base
class | std::__detail::_SpecializedCursor< _FwdIterT >
class | std::__detail::_SpecializedResults< _FwdIterT, _Alloc >
struct | std::__detail::_StartTagger< _FwdIterT, _TraitsT >
struct | std::__detail::_State
class | std::__detail::_StateSeq

## Typedefs

typedef std::shared_ptr < _Automaton > | std::__detail::_AutomatonPtr
typedef std::function< bool(const _PatternCursor &)> | std::__detail::_Matcher
typedef int | std::__detail::_StateIdT
typedef std::set< _StateIdT > | std::__detail::_StateSet
typedef std::stack< _StateIdT, std::vector< _StateIdT > > | std::__detail::_StateStack
typedef std::function< void(const _PatternCursor &, _Results &)> | std::__detail::_Tagger

## Enumerations

enum | std::__detail::_Opcode { _S_opcode_unknown, _S_opcode_alternative, _S_opcode_subexpr_begin, _S_opcode_subexpr_end, _S_opcode_match, _S_opcode_accept }

## Functions

| std::__detail::_Compiler< _InIter, _TraitsT >::_Compiler (const _InIter &__b, const _InIter &__e, _TraitsT &__traits, _FlagT __flags)
| std::__detail::_SpecializedResults< _FwdIterT, _Alloc >::_SpecializedResults (const _Automaton::_SizeT __size, const _SpecializedCursor< _FwdIterT > &__cursor, match_results< _FwdIterT, _Alloc > &__m)
template<typename _InIter , typename _TraitsT >
_AutomatonPtr | std::__detail::__compile (const _InIter &__b, const _InIter &__e, _TraitsT &__t, regex_constants::syntax_option_type __f)
template<typename _FwdIterT >
_SpecializedCursor< _FwdIterT > | std::__detail::__cursor (const _FwdIterT &__b, const _FwdIterT __e)
bool | std::__detail::_AnyMatcher (const _PatternCursor &)
void | std::__detail::_Scanner< _InputIterator >::_M_advance ()
void | std::__detail::_SpecializedResults< _FwdIterT, _Alloc >::_M_set_pos (int __i, int __j, const _PatternCursor &__pc)

## Variables

static const _StateIdT | std::__detail::_S_invalid_state_id

## Detailed Description

## Typedef Documentation

typedef std::shared_ptr<_Automaton> std::__detail::_AutomatonPtr

Generic shared pointer to an automaton.

Definition at line 62 of file regex_nfa.h.

typedef std::function<bool (const _PatternCursor&)> std::__detail::_Matcher

Indicates if current state matches cursor current.

Definition at line 120 of file regex_nfa.h.

typedef int std::__detail::_StateIdT

Identifies a state in the NFA.

Definition at line 195 of file regex_nfa.h.

typedef std::set<_StateIdT> std::__detail::_StateSet

The Grep Matcher works on sets of states. Here are sets of states.

Definition at line 251 of file regex_nfa.h.

typedef std::stack<_StateIdT, std::vector<_StateIdT> > std::__detail::_StateStack

A stack of states used in evaluating the NFA.

Definition at line 105 of file regex_grep_matcher.h.

typedef std::function<void (const _PatternCursor&, _Results&)> std::__detail::_Tagger

Tags current state (for subexpr begin/end).

Definition at line 84 of file regex_nfa.h.

## Enumeration Type Documentation

enum std::__detail::_Opcode

Operation codes that define the type of transitions within the base NFA that represents the regular expression.

Definition at line 66 of file regex_nfa.h.

## Function Documentation

bool std::__detail::_AnyMatcher | ( | const _PatternCursor & |  | ) |

inline

Matches any character.

Definition at line 124 of file regex_nfa.h.

## Variable Documentation

const _StateIdT std::__detail::_S_invalid_state_id

static

The special case in which a state identifier is not an index.

Definition at line 198 of file regex_nfa.h.