| 303 | */ |
| 304 | template<typename FinderT, typename RangeT> |
| 305 | split_iterator( |
| 306 | RangeT& Col, |
| 307 | FinderT Finder ) : |
| 308 | detail::find_iterator_base<IteratorT>(Finder,0), |
| 309 | m_bEof(false) |
| 310 | { |
| 311 | iterator_range<BOOST_STRING_TYPENAME range_iterator<RangeT>::type> lit_col(::boost::as_literal(Col)); |
| 312 | m_Match=make_iterator_range(::boost::begin(lit_col), ::boost::begin(lit_col)); |
| 313 | m_Next=::boost::begin(lit_col); |
| 314 | m_End=::boost::end(lit_col); |
| 315 | |
| 316 | // force the correct behavior for empty sequences and yield at least one token |
| 317 | if(m_Next!=m_End) |
| 318 | { |
| 319 | increment(); |
| 320 | } |
| 321 | } |
| 322 | |
| 323 | |
| 324 | private: |
nothing calls this directly
no test coverage detected