Enumap.opAssign

An Enumap can be assigned from an array or range of values

struct Enumap(K, V)
void
opAssign
(
T
)
(
T val
)
if (
is(typeof(typeof(this)(val)))
)
if (
EnumMembers!K == aliasSeqOf!(EnumMembers!K.length.iota)
)

Examples

Assign an Enumap from a static array.

Enumap!(Element, int) elements;
int[elements.length] arr = [1, 2, 3, 4];
elements = arr;

with (Element) {
  assert(elements[air]   == 1);
  assert(elements[earth] == 2);
  assert(elements[water] == 3);
  assert(elements[fire]  == 4);
}

Assign an Enumap from a range

import std.range : iota;

Enumap!(Element, int) elements;

with (Element) {
  elements = iota(0, 4);

  assert(elements[air]   == 0);
  assert(elements[earth] == 1);
  assert(elements[water] == 2);
  assert(elements[fire]  == 3);
}

Meta