本文整理汇总了C++中NValue::castAs方法的典型用法代码示例。如果您正苦于以下问题:C++ NValue::castAs方法的具体用法?C++ NValue::castAs怎么用?C++ NValue::castAs使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NValue
的用法示例。
在下文中一共展示了NValue::castAs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: castAndSortAndDedupArrayForInList
void NValue::castAndSortAndDedupArrayForInList(const ValueType outputType, std::vector<NValue> &outList) const
{
int size = arrayLength();
// make a set to eliminate unique values in O(nlogn) time
std::set<StlFriendlyNValue> uniques;
// iterate over the array of values and build a sorted set of unique
// values that don't overflow or violate unique constaints
// (n.b. sorted set means dups are removed)
for (int i = 0; i < size; i++) {
NValue value = itemAtIndex(i);
// cast the value to the right type and catch overflow/cast problems
try {
StlFriendlyNValue stlValue;
stlValue = value.castAs(outputType);
std::pair<std::set<StlFriendlyNValue>::iterator, bool> ret;
ret = uniques.insert(stlValue);
}
// cast exceptions mean the in-list test is redundant
// don't include these values in the materialized table
// TODO: make this less hacky
catch (SQLException &sqlException) {}
}
// insert all items in the set in order
std::set<StlFriendlyNValue>::const_iterator iter;
for (iter = uniques.begin(); iter != uniques.end(); iter++) {
outList.push_back(*iter);
}
}