On Sunday, 8 December 2013 at 00:17:48 UTC, Adam D. Ruppe wrote:
On Sunday, 8 December 2013 at 00:16:46 UTC, Adam D. Ruppe wrote:
the same general pattern there of static array up to a certain size.

static array being "T[max_size]", not "static T[max_size]"

just so it uses the stack for most things.

So rather something like this:
----
import std.stdio;

struct Helper(T, uint StackSize = 128) {
        T[StackSize] buffer = void;

        T[] allocate(size_t n) {
                if (n <= StackSize)
                        return buffer[0 .. n];

                return new T[n];
        }
}

void main() {
        auto h = Helper!int();

        int[] arr = h.allocate(512);
}
----

Yes? I don't like it, because it isn't a one liner. Isn't it possible in one line? A personal dream of me would be: scope int[] arr = new int[n]; or the implementation of DIP46. :)

Reply via email to