33 namespace std _GLIBCXX_VISIBILITY(default)
37 _GLIBCXX_BEGIN_NAMESPACE_VERSION
44 template<
typename _BiIter,
typename _Alloc,
typename _TraitsT,
49 typedef typename iterator_traits<_BiIter>::value_type _CharT;
50 typedef basic_regex<_CharT, _TraitsT> _RegexT;
53 typedef typename _TraitsT::char_class_type _ClassT;
54 typedef _NFA<_TraitsT> _NFAT;
57 _Executor(_BiIter __begin,
59 _ResultsVec& __results,
65 _M_nfa(*__re._M_automaton),
66 _M_results(__results),
67 _M_match_queue(__dfs_mode ? nullptr
68 : new vector<pair<_StateIdT, _ResultsVec>>()),
69 _M_visited(__dfs_mode ? nullptr : new vector<bool>(_M_nfa.
size())),
75 _M_start_state(_M_nfa._M_start())
82 _M_current = _M_begin;
83 return _M_main<true>();
88 _M_search_from_first()
90 _M_current = _M_begin;
91 return _M_main<false>();
98 template<
bool __match_mode>
100 _M_dfs(_StateIdT __start);
102 template<
bool __match_mode>
107 _M_is_word(_CharT __ch)
const
109 static const _CharT __s[2] = {
'w' };
110 return _M_re._M_traits.isctype
111 (__ch, _M_re._M_traits.lookup_classname(__s, __s+1));
117 return _M_current == _M_begin
125 return _M_current == _M_end
130 _M_word_boundary(_State<_TraitsT> __state)
const;
133 _M_lookahead(_State<_TraitsT> __state);
136 _ResultsVec _M_cur_results;
138 const _BiIter _M_begin;
139 const _BiIter _M_end;
140 const _RegexT& _M_re;
142 _ResultsVec& _M_results;
150 _StateIdT _M_start_state;
156 _GLIBCXX_END_NAMESPACE_VERSION
A standard container which offers fixed time access to individual elements in any order...
20.7.1.2 unique_ptr for single objects.
match_flag_type
This is a bitmask type indicating regex matching rules.
constexpr size_t size() const noexcept
Returns the total number of bits.