]> git.tdb.fi Git - builder.git/blob - source/pattern.cpp
Don't print the configuration header in help for empty configuration
[builder.git] / source / pattern.cpp
1 #include <stdexcept>
2 #include "pattern.h"
3
4 using namespace std;
5
6 Pattern::Pattern(const string &pat)
7 {
8         string::size_type percent = pat.find('%');
9         if(percent==string::npos)
10                 throw invalid_argument("No percent sign in pattern");
11         prefix = pat.substr(0, percent);
12         suffix = pat.substr(percent+1);
13 }
14
15 string Pattern::apply(const string &body) const
16 {
17         return prefix+body+suffix;
18 }
19
20 list<string> Pattern::apply_list(const list<Pattern> &patterns, const string &body)
21 {
22         list<string> result;
23         for(list<Pattern>::const_iterator i=patterns.begin(); i!=patterns.end(); ++i)
24                 result.push_back(i->apply(body));
25         return result;
26 }