本文整理汇总了C++中Quantity::read方法的典型用法代码示例。如果您正苦于以下问题:C++ Quantity::read方法的具体用法?C++ Quantity::read怎么用?C++ Quantity::read使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Quantity
的用法示例。
在下文中一共展示了Quantity::read方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: read
void QuantityManager::read(const std::string & data) {
std::stringstream strm(data);
std::string line;
while (getline(strm,line)) {
IBK::trim(line);
if (line.empty() || line[0] == '#') continue;
Quantity qd;
try {
qd.read(line);
}
catch (IBK::Exception & ex) {
throw IBK::Exception(ex, IBK::FormatString("Cannot read quantity definition from line '%1'.")
.arg(line), "[QuantityManager::read]");
}
// check if we already have such a quantity
int idx = index(qd);
if (idx != -1) {
// replace quantity
IBK::IBK_Message(IBK::FormatString("Replacing quantity '%1::%2' with new definition.\n")
.arg(Quantity::type2string(qd.m_type))
.arg(qd.m_name), IBK::MSG_PROGRESS, "QuantityManager::read" ,1);
m_quantities[idx] = qd;
}
else {
// add quantity to list
m_quantities.push_back(qd);
// add new reference to global index map
m_globalIndexMap[ std::make_pair(qd.m_type, qd.m_name)]= m_quantities.size()-1;
}
}
}