Andrei Alexandrescu wrote:
Denis Koroskin wrote:
Well, actually I think that having an Appender object is an overkill.
I never use, although I wrote a few implementations. Instead, I found
the following method to be extemely handy, very fast and cover all my
cases:
void append(T)(T[] array, ref size_t index, T value)
{
assert(array.length >= index);
if (array.length == index) {
array.length = array.length * 2;
}
array[index++] = value;
}
I'm pretty sure you meant to pass array by reference.
It also breaks when the array is empty.