So I'm looking at creation functions and in particular creation functions for arrays.

1. Follow the new int[n] convention:

auto a = allok.make!(int[])(42);
assert(a.length == 42);
assert(a.equal(repeat(0, 42));

2. Follow the [ literal ] convention:

auto a = allok.make!(int[])(42);
assert(a.length == 1);
assert(a[0] == 42);

For the second option, to create longer arrays:

auto a = allok.make!(int[])(42, 43, 44);
assert(a.length == 3);
assert(a.equal(iota(42, 45));

Nice ways to repeat things:

auto a = allok.make!(int[])(42, repeat(43, 5), 44);

And even nice ways to create holes for efficiency:

auto a = allok.make!(int[])(42, uninitialized(5), 44);


Destroy.

Andrei
  • API Andrei Alexandrescu via Digitalmars-d
    • Re: API Adam D. Ruppe via Digitalmars-d
      • Re: API Adam D. Ruppe via Digitalmars-d
        • Re: API bearophile via Digitalmars-d
          • Re: API Adam D. Ruppe via Digitalmars-d
            • Re: API bearophile via Digitalmars-d
              • Re: API Adam D. Ruppe via Digitalmars-d
      • Re: API Orvid King via Digitalmars-d
    • Re: API bearophile via Digitalmars-d
      • Re: API H. S. Teoh via Digitalmars-d
    • Re: API Brian Schott via Digitalmars-d

Reply via email to