31 namespace std _GLIBCXX_VISIBILITY(default)
35 _GLIBCXX_BEGIN_NAMESPACE_VERSION
40 virtual ~_PatternCursor() { };
41 virtual void _M_next() = 0;
42 virtual bool _M_at_end()
const = 0;
46 template<
typename _FwdIterT>
47 class _SpecializedCursor
48 :
public _PatternCursor
51 _SpecializedCursor(
const _FwdIterT& __b,
const _FwdIterT __e)
52 : _M_b(__b), _M_c(__b), _M_e(__e)
55 typename std::iterator_traits<_FwdIterT>::value_type
77 {
return _M_c == _M_e; }
86 template<
typename _FwdIterT>
87 inline _SpecializedCursor<_FwdIterT>
88 __cursor(
const _FwdIterT& __b,
const _FwdIterT __e)
89 {
return _SpecializedCursor<_FwdIterT>(__b, __e); }
91 _GLIBCXX_END_NAMESPACE_VERSION