本文整理汇总了C++中ArrayData::onSetEvalScalar方法的典型用法代码示例。如果您正苦于以下问题:C++ ArrayData::onSetEvalScalar方法的具体用法?C++ ArrayData::onSetEvalScalar怎么用?C++ ArrayData::onSetEvalScalar使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ArrayData
的用法示例。
在下文中一共展示了ArrayData::onSetEvalScalar方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: assert
ArrayData *ArrayData::GetScalarArray(ArrayData *arr,
const StringData *key /* = NULL */) {
if (key == NULL) {
key = StringData::GetStaticString(f_serialize(arr).get());
} else {
assert(key->isStatic());
assert(key->same(f_serialize(arr).get()));
}
ArrayDataMap::accessor acc;
if (s_arrayDataMap.insert(acc, key)) {
ArrayData *ad = arr->nonSmartCopy();
ad->setStatic();
ad->onSetEvalScalar();
acc->second = ad;
}
return acc->second;
}
示例2: GetScalarArray
ArrayData* ArrayData::GetScalarArray(ArrayData* arr,
const ScalarArrayKey& key) {
if (arr->empty() && !arr->isDict()) return staticEmptyArray();
assert(key == GetScalarArrayKey(arr));
ArrayDataMap::accessor acc;
if (s_arrayDataMap.insert(acc, key)) {
ArrayData* ad;
if (arr->isVectorData() && !arr->isPacked() && !arr->isDict()) {
ad = PackedArray::ConvertStatic(arr);
} else {
ad = arr->copyStatic();
}
assert(ad->isStatic());
ad->onSetEvalScalar();
acc->second = ad;
}
return acc->second;
}