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))
+ if(body.size()<=suffix.size() || body.compare(body.size()-suffix.size(), suffix.size(), suffix))
result += suffix;
return result;
}
list<string> Pattern::apply_list(const list<Pattern> &patterns, const string &body)
{
list<string> result;
- for(list<Pattern>::const_iterator i=patterns.begin(); i!=patterns.end(); ++i)
- result.push_back(i->apply(body));
+ for(const Pattern &p: patterns)
+ result.push_back(p.apply(body));
return result;
}