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