mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:27:35 +00:00
AK: Add Vector::prepend() overload for multiple items
Much like with Vector::append(), you may want to append multiple items in one go. It's actually more important to do this for prepending, because you don't want to copy the rest of items further each time.
This commit is contained in:
parent
97b3035c14
commit
d62346c0b1
1 changed files with 10 additions and 0 deletions
10
AK/Vector.h
10
AK/Vector.h
|
@ -447,6 +447,16 @@ public:
|
|||
m_size += other_size;
|
||||
}
|
||||
|
||||
void prepend(const T* values, size_t count)
|
||||
{
|
||||
if (!count)
|
||||
return;
|
||||
grow_capacity(size() + count);
|
||||
TypedTransfer<T>::move(slot(count), slot(0), m_size);
|
||||
TypedTransfer<T>::copy(slot(0), values, count);
|
||||
m_size += count;
|
||||
}
|
||||
|
||||
void append(const T* values, size_t count)
|
||||
{
|
||||
if (!count)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue