On Monday, 9 February 2026 at 10:53:32 UTC, user1234 wrote:
On Wednesday, 4 February 2026 at 08:45:06 UTC, axricard wrote:
Hello, is there some structure in standard library that acts
like Appender but works also on std.container.array Arrays ?
I'd like to have the capacity of Arrays doubling every time
new memory is allocated.
Appender requires the input to be a dynamic array, which is
not the case for std.container.array Arrays.
To the cost of small run-time overhead one solution is to
forward appending in a custom function, e.g
```d
void append(T)(ref T arr, int elem)
{
arr ~= elem;
static if (is(T == std.container.array.Array!int))
arr.reserve(nextPow2(arr.capacity-1));
writefln("capacity after append: %u", arr.capacity);
}
```
my bad, I meant
```d
arr.reserve(nextPow2(arr.length+1));
```