(svn r18993) -Codechange: allow allocating multiple items in a SmallVector with one call.

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
rubidium 15 years ago
parent e437362c7b
commit c75f19f40b

@ -76,16 +76,20 @@ public:
/**
* Append an item and return it.
* @param to_add the number of items to append
* @return pointer to newly allocated item
*/
FORCEINLINE T *Append()
FORCEINLINE T *Append(size_t to_add = 1)
{
if (this->items == this->capacity) {
this->capacity += S;
size_t begin = this->items;
this->items += to_add;
if (this->items > this->capacity) {
this->capacity = Align(this->items, S);
this->data = ReallocT(this->data, this->capacity);
}
return &this->data[this->items++];
return &this->data[begin];
}
/**

@ -18,7 +18,7 @@
#include "sound_func.h"
#include "core/mem_func.hpp"
static SmallVector<SoundEntry, ORIGINAL_SAMPLE_COUNT> _sounds;
static SmallVector<SoundEntry, 8> _sounds;
/* Allocate a new Sound */

Loading…
Cancel
Save