本文整理汇总了C++中XML_Node::findID方法的典型用法代码示例。如果您正苦于以下问题:C++ XML_Node::findID方法的具体用法?C++ XML_Node::findID怎么用?C++ XML_Node::findID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XML_Node
的用法示例。
在下文中一共展示了XML_Node::findID方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: s
void Sim1D::restore(const std::string& fname, const std::string& id,
int loglevel)
{
ifstream s(fname.c_str());
if (!s)
throw CanteraError("Sim1D::restore",
"could not open input file "+fname);
XML_Node root;
root.build(s);
s.close();
XML_Node* f = root.findID(id);
if (!f) {
throw CanteraError("Sim1D::restore","No solution with id = "+id);
}
vector<XML_Node*> xd;
f->getChildren("domain", xd);
if (xd.size() != m_nd) {
throw CanteraError("Sim1D::restore", "Solution does not contain the "
" correct number of domains. Found " +
int2str(xd.size()) + "expected " +
int2str(m_nd) + ".\n");
}
size_t sz = 0;
for (size_t m = 0; m < m_nd; m++) {
if (loglevel > 0 && xd[m]->attrib("id") != domain(m).id()) {
writelog("Warning: domain names do not match: '" +
(*xd[m])["id"] + + "' and '" + domain(m).id() + "'\n");
}
sz += domain(m).nComponents() * intValue((*xd[m])["points"]);
}
m_x.resize(sz);
m_xnew.resize(sz);
for (size_t m = 0; m < m_nd; m++) {
domain(m).restore(*xd[m], DATA_PTR(m_x) + domain(m).loc(), loglevel);
}
resize();
finalize();
}