本文整理汇总了C++中ZendArray::erase方法的典型用法代码示例。如果您正苦于以下问题:C++ ZendArray::erase方法的具体用法?C++ ZendArray::erase怎么用?C++ ZendArray::erase使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ZendArray
的用法示例。
在下文中一共展示了ZendArray::erase方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: copyImpl
ArrayData *ZendArray::remove(CVarRef k, bool copy) {
TypedValueAccessor tva = k.getTypedAccessor();
if (isIntKey(tva)) {
if (UNLIKELY(copy)) {
ZendArray *a = copyImpl();
a->prepareBucketHeadsForWrite();
a->erase(a->findForErase(getIntKey(tva)));
return a;
}
prepareBucketHeadsForWrite();
erase(findForErase(getIntKey(tva)));
return NULL;
} else {
ASSERT(k.isString());
StringData *key = getStringKey(tva);
int64 prehash = key->hash();
if (UNLIKELY(copy)) {
ZendArray *a = copyImpl();
a->prepareBucketHeadsForWrite();
a->erase(a->findForErase(key->data(), key->size(), prehash));
return a;
}
prepareBucketHeadsForWrite();
erase(findForErase(key->data(), key->size(), prehash));
return NULL;
}
}
示例2: copyImpl
ArrayData *ZendArray::remove(CStrRef k, bool copy) {
int64 prehash = k->hash();
if (UNLIKELY(copy)) {
ZendArray *a = copyImpl();
a->erase(a->findForErase(k.data(), k.size(), prehash));
return a;
}
erase(findForErase(k.data(), k.size(), prehash));
return NULL;
}