Example #1
0
 void do_filter(const vector_type& src, vector_type& dest)
     {
         typedef regex_iterator<const Ch*, Ch, Tr> iterator;
         if (src.empty())
             return;
         iterator first(&src[0], &src[0] + src.size(), re_, flags_);
         iterator last;
         const Ch* suffix = 0; // Prevent GCC 2.95 warning.
         for (; first != last; ++first) {
             dest.insert( dest.end(), 
                          first->prefix().first,
                          first->prefix().second );
             string_type replacement = replace_(*first);
             dest.insert( dest.end(), 
                          replacement.begin(),
                          replacement.end() );
             suffix = first->suffix().first;
         }
         dest.insert(dest.end(), suffix, &src[0] + src.size());
     }