Mixing std.container.array and Appender
user1234
user1234 at 12.de
Mon Feb 9 10:53:32 UTC 2026
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);
}
```
More information about the Digitalmars-d-learn
mailing list