23 #include "TemplateEngine.h"
25 TemplateEngine::TemplateEngine() {
30 TemplateEngine::~TemplateEngine() {
47 string TemplateEngine::evaluate(
string fileName,StringContext cntxt)
51 infile.open(fileName.c_str());
56 s = fileName.find_last_of(
"/")+1;
57 en = fileName.find_last_of(
".");
58 file = fileName.substr(s,en-s);
59 while(getline(infile, data))
61 if(data.find(
"<import>")!=string::npos && data.find(
"</import>")!=string::npos)
63 int s = data.find(
"<import>")+8;
64 int e = data.find(
"</import>");
65 data=data.substr(s,e-s);
66 ifstream inf(data.c_str());
69 while(getline(inf, data))
71 ret.append(data+
"\n");
75 ret.append(data+
"\n");
80 StringContext::iterator itr;
81 for(itr = cntxt.begin();itr!=cntxt.end();itr++)
84 rep =
"${"+itr->first+
"}";
85 StringUtil::replaceAll(ret,rep,itr->second);