本文整理汇总了C++中DataSource::ReadFeatures方法的典型用法代码示例。如果您正苦于以下问题:C++ DataSource::ReadFeatures方法的具体用法?C++ DataSource::ReadFeatures怎么用?C++ DataSource::ReadFeatures使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataSource
的用法示例。
在下文中一共展示了DataSource::ReadFeatures方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MatchResults
bool MatchResults(DataSource const & dataSource, vector<shared_ptr<MatchingRule>> rules,
vector<search::Result> const & actual)
{
vector<FeatureID> resultIds;
for (auto const & a : actual)
resultIds.push_back(a.GetFeatureID());
sort(resultIds.begin(), resultIds.end());
vector<string> unexpected;
auto removeMatched = [&rules, &unexpected](FeatureType & feature) {
for (auto it = rules.begin(); it != rules.end(); ++it)
{
if ((*it)->Matches(feature))
{
rules.erase(it);
return;
}
}
unexpected.push_back(feature.DebugString(FeatureType::BEST_GEOMETRY) + " from " +
DebugPrint(feature.GetID().m_mwmId));
};
dataSource.ReadFeatures(removeMatched, resultIds);
if (rules.empty() && unexpected.empty())
return true;
ostringstream os;
os << "Unsatisfied rules:" << endl;
for (auto const & e : rules)
os << " " << DebugPrint(*e) << endl;
os << "Unexpected retrieved features:" << endl;
for (auto const & u : unexpected)
os << " " << u << endl;
LOG(LWARNING, (os.str()));
return false;
}