1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
#include "generator.ih"
void Generator::insert(ostream &out) const
{
istringstream istr(d_line);
istr >> d_key >> d_indent;
if (!istr)
{
d_indent = 0;
istr.clear();
}
istr >> d_key; // extract the insertion target
getline(istr, d_line); // and store the remainder of the line
MapConstIter iter = s_insert.find(d_key);
if (iter != s_insert.end())
(this->*iter->second)(out); // calls the specified s_insert function
else
wmsg << "Ignoring unsupported `$insert " << d_key <<
" ...' in skeleton file" << endl;
}
|