31 namespace std _GLIBCXX_VISIBILITY(default)
33 _GLIBCXX_BEGIN_NAMESPACE_VERSION
35 template<
typename _BiIter>
38 template<
typename _Bi_iter,
typename _Allocator>
41 _GLIBCXX_END_NAMESPACE_VERSION
45 _GLIBCXX_BEGIN_NAMESPACE_VERSION
54 template<
typename _FwdIterT,
typename _Alloc>
83 _CursorT __c =
static_cast<_CursorT
>(__pc);
84 _M_results.
at(__i).first = __c._M_begin();
85 _M_results.
at(__i).second = __c._M_end();
89 _M_set_matched(
int __i,
bool __is_matched)
90 { _M_results.
at(__i).matched = __is_matched; }
100 _M_results = __r->_M_results;
108 template<
typename _FwdIterT,
typename _Alloc>
113 : _M_results(__m), _M_managed(false)
116 _M_results.
reserve(__size + 2);
117 _M_results.
resize(__size);
119 __sm.first = __sm.second = __cursor._M_begin();
121 __sm.first = __sm.second = __cursor._M_end();
125 template<
typename _FwdIterT,
typename _Alloc>
127 _SpecializedResults<_FwdIterT, _Alloc>::
128 _M_set_pos(
int __i,
int __j,
const _PatternCursor& __pc)
130 typedef const _SpecializedCursor<_FwdIterT>& _CursorT;
131 _CursorT __c =
static_cast<_CursorT
>(__pc);
133 _M_results.at(__i).first = __c._M_pos();
135 _M_results.at(__i).second = __c._M_pos();
148 : _M_nfa(static_pointer_cast<_Nfa>(__automaton)),
149 _M_str_cur(__p), _M_results(__r)
162 _M_search_from_first() = 0;
188 {
return _M_dfs<true>(_M_nfa->_M_start()); }
191 _M_search_from_first()
192 {
return _M_dfs<false>(_M_nfa->_M_start()); }
195 template<
bool __match_mode>
213 :
public _Grep_matcher
216 _BFSMatcher(_PatternCursor& __p,
220 : _Grep_matcher(__p, __r, __automaton, __flags)
223 _M_current[_M_nfa->_M_start()] = _M_results._M_clone();
229 {
return _M_main_loop<true>(); }
232 _M_search_from_first()
233 {
return _M_main_loop<false>(); }
236 template<
bool __match_mode>
250 _M_includes_some()
const;
256 _GLIBCXX_END_NAMESPACE_VERSION