File: storereplacement.cc

package info (click to toggle)
oxref 2.02.00-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 692 kB
  • sloc: cpp: 1,282; makefile: 131; sh: 48
file content (21 lines) | stat: -rw-r--r-- 678 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "storage.ih"

void Storage::storeReplacement(string const &label, string const &spec)
{
    int separator;
    if (
        spec.length() < 3 
        or 
        count(spec.begin(), spec.end(), separator = spec[0]) != 3
        or
        spec.back() != separator
    )
        throw Exception{} << label << ": invalid pattern `" << spec << '\'';

    size_t pos = spec.find(separator, 1);           // find the middle sep.

    d_replacement.push_back(                        // store the pattern
                            { spec.substr(1,       pos - 1), 
                              spec.substr(pos + 1, spec.length() - pos - 2 ) }
                        );
}