[Issue 17526] Add a set method for AA

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Fri Jul 7 11:13:26 PDT 2017


https://issues.dlang.org/show_bug.cgi?id=17526

--- Comment #5 from Vladimir Panteleev <dlang-bugzilla at thecybershadow.net> ---
BTW, the performance use case of the proposed set method (which I called
getOrAdd in my hashmap implementation):

struct S { int i, j, k, l, m; /* etc. */ }
S[int] aa;

// The goal is to increment aa[x].k
// If aa[x] doesn't exist, initialize it with S.init
// Currently, you have to do this:

if (auto p = x in aa)
    (*p).k++;
else
{
    S s;
    s.k = 1;
    aa[x] = s;  // Wasteful - double lookup
}

--


More information about the Digitalmars-d-bugs mailing list