本文整理汇总了C++中ZendArray::updateRef方法的典型用法代码示例。如果您正苦于以下问题:C++ ZendArray::updateRef方法的具体用法?C++ ZendArray::updateRef怎么用?C++ ZendArray::updateRef使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ZendArray
的用法示例。
在下文中一共展示了ZendArray::updateRef方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: copyImpl
ArrayData *ZendArray::setRef(CStrRef k, CVarRef v, bool copy) {
if (UNLIKELY(copy)) {
ZendArray *a = copyImpl();
a->updateRef(k.get(), v);
return a;
}
updateRef(k.get(), v);
return NULL;
}
示例2: setRef
ArrayData *VectorArray::setRef(CVarRef k, CVarRef v, bool copy) {
Variant::TypedValueAccessor tva = k.getTypedAccessor();
if (isIntKey(tva)) {
return VectorArray::setRef(getIntKey(tva), v, copy);
}
ASSERT(k.isString());
ZendArray *a = escalateToZendArray();
a->updateRef(getStringKey(tva), v);
return a;
}
示例3: NEW
ArrayData *VectorArray::setRef(int64 k, CVarRef v, bool copy) {
if (UNLIKELY(copy)) {
if (inRange(k, m_size) || k == m_size) {
VectorArray *a = NEW(VectorArray)(this);
a->VectorArray::setRef(k, v, false);
return a;
}
} else {
if (inRange(k, m_size)) {
tvAsVariant(&m_elems[k]).assignRef(v);
return nullptr;
} else if (k == m_size) {
checkSize();
tvAsUninitializedVariant(&m_elems[k]).constructRefHelper(v);
checkInsertIterator((ssize_t)k);
m_size++;
return nullptr;
}
}
ZendArray *a = escalateToZendArray();
a->updateRef(k, v);
return a;
}
示例4: escalateToZendArray
ArrayData *VectorArray::setRef(StringData* k, CVarRef v, bool copy) {
ZendArray *a = escalateToZendArray();
a->updateRef(k, v);
return a;
}
示例5: escalateToZendArray
ArrayData *VectorArray::setRef(CStrRef k, CVarRef v, bool copy) {
ZendArray *a = escalateToZendArray();
a->updateRef(k.get(), v);
return a;
}