/** @brief replace * */ CString::size_type CString::replace(const char ch, CString::size_type index, CString::size_type count, CString::size_type length) { char temp[count]; for(int i = 0; i < count; i++) { temp[i++] = ch; } return replace_(temp, index, length); }
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()); }