byKey

fnauto byKey(T : V[K], K, V)(T aa) pure nothrow @nogc @safe

Returns a forward range which will iterate over the keys of the associative array. The keys are returned by reference.

If structural changes are made to the array (removing or adding keys), all ranges previously obtained through this function are invalidated. The following example program will dereference a null pointer:

import std.stdio : writeln;

auto dict = ["k1": 1, "k2": 2];
auto keyRange = dict.byKey;
dict.clear;
writeln(keyRange.front);    // Segmentation fault

Parameters

aaThe associative array.

Returns

A forward range referencing the keys of the associative array.
fnauto byKey(K, V)(V[K] * aa) pure nothrow @nogc

ditto