X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpattern.cpp;h=fec83dad1f2273876e894b0c531aa39abacab984;hb=aa053d637e8259755af7d2e4b510a242f4d29c7b;hp=e87981f8f941603653de1bbf9f5e33ba068bcc45;hpb=40177b0cfc0d4e67f971941f632e4f1f7e7c3f88;p=builder.git diff --git a/source/pattern.cpp b/source/pattern.cpp index e87981f..fec83da 100644 --- a/source/pattern.cpp +++ b/source/pattern.cpp @@ -14,5 +14,18 @@ Pattern::Pattern(const string &pat) string Pattern::apply(const string &body) const { - return prefix+body+suffix; + string result = body; + if(body.compare(0, prefix.size(), prefix)) + result = prefix+result; + if(body.size()<=suffix.size() || body.compare(body.size()-suffix.size(), suffix.size(), suffix)) + result += suffix; + return result; +} + +vector Pattern::apply_list(const vector &patterns, const string &body) +{ + vector result; + for(const Pattern &p: patterns) + result.push_back(p.apply(body)); + return result; }