Lines Matching refs:index

110 ssize_t VectorImpl::insertVectorAt(const VectorImpl& vector, size_t index)
112 if (index > size())
114 void* where = _grow(index, vector.size());
118 return where ? index : (ssize_t)NO_MEMORY;
126 ssize_t VectorImpl::insertAt(size_t index, size_t numItems)
128 return insertAt(0, index, numItems);
131 ssize_t VectorImpl::insertAt(const void* item, size_t index, size_t numItems)
133 if (index > size())
135 void* where = _grow(index, numItems);
143 return where ? index : (ssize_t)NO_MEMORY;
172 ssize_t VectorImpl::replaceAt(size_t index)
174 return replaceAt(0, index);
177 ssize_t VectorImpl::replaceAt(const void* prototype, size_t index)
179 ALOG_ASSERT(index<size(),
180 "[%p] replace: index=%d, size=%d", this, (int)index, (int)size());
182 void* item = editItemLocation(index);
191 return ssize_t(index);
194 ssize_t VectorImpl::removeItemsAt(size_t index, size_t count)
196 ALOG_ASSERT((index+count)<=size(),
197 "[%p] remove: index=%d, count=%d, size=%d",
198 this, (int)index, (int)count, (int)size());
200 if ((index+count) > size())
202 _shrink(index, count);
203 return index;
218 void* VectorImpl::editItemLocation(size_t index)
220 ALOG_ASSERT(index<capacity(),
221 "[%p] itemLocation: index=%d, capacity=%d, count=%d",
222 this, (int)index, (int)capacity(), (int)mCount);
226 return reinterpret_cast<char*>(buffer) + index*mItemSize;
230 const void* VectorImpl::itemLocation(size_t index) const
232 ALOG_ASSERT(index<capacity(),
233 "[%p] editItemLocation: index=%d, capacity=%d, count=%d",
234 this, (int)index, (int)capacity(), (int)mCount);
238 return reinterpret_cast<const char*>(buffer) + index*mItemSize;
486 ssize_t index = _indexOrderOf(item, &order);
487 if (index < 0) {
488 index = VectorImpl::insertAt(item, order, 1);
490 index = VectorImpl::replaceAt(item, index);
492 return index;