File: replace.cc

package info (click to toggle)
flexc%2B%2B 2.17.01-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 7,180 kB
  • sloc: cpp: 6,467; makefile: 148; sh: 130; ansic: 18
file content (17 lines) | stat: -rw-r--r-- 481 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "charclass.ih"

void CharClass::replace(string newStr, TypeVector::iterator iter, size_t end)
{
    size_t orgLen = end - iter->first;

    if (orgLen == newStr.length())
        return;

    d_str.replace(iter->first, orgLen, newStr); // replace the original str 
                                                // by the unescaped str.

    size_t reduction = orgLen - newStr.length();

    for (++iter; iter != d_type.end(); ++iter)
        iter->first -= reduction;
}