本文整理汇总了C++中SparseArrayValueMap::begin方法的典型用法代码示例。如果您正苦于以下问题:C++ SparseArrayValueMap::begin方法的具体用法?C++ SparseArrayValueMap::begin怎么用?C++ SparseArrayValueMap::begin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SparseArrayValueMap
的用法示例。
在下文中一共展示了SparseArrayValueMap::begin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setLength
void JSArray::setLength(unsigned newLength)
{
checkConsistency();
ArrayStorage* storage = m_storage;
unsigned length = m_storage->m_length;
if (newLength < length) {
unsigned usedVectorLength = min(length, m_vectorLength);
for (unsigned i = newLength; i < usedVectorLength; ++i) {
JSValue& valueSlot = storage->m_vector[i];
bool hadValue = valueSlot;
valueSlot = JSValue();
storage->m_numValuesInVector -= hadValue;
}
if (SparseArrayValueMap* map = storage->m_sparseValueMap) {
SparseArrayValueMap copy = *map;
SparseArrayValueMap::iterator end = copy.end();
for (SparseArrayValueMap::iterator it = copy.begin(); it != end; ++it) {
if (it->first >= newLength)
map->remove(it->first);
}
if (map->isEmpty()) {
delete map;
storage->m_sparseValueMap = 0;
}
}
}
m_storage->m_length = newLength;
checkConsistency();
}