Enumap.opApply

Execute foreach over (EnumMember, ref value) pairs to modify elements.

  1. int opApply(int delegate(K, const V) dg)
  2. int opApply(int delegate(K, ref V) dg)
    struct Enumap(K, V)
    int
    opApply
    (
    scope int delegate
    (
    K
    ,
    ref V
    )
    dg
    )
    if (
    EnumMembers!K == staticIota!(0, EnumMembers!K.length)
    )

Examples

foreach can modify values by ref

Enumap!(Element, int) elements;

foreach(key, ref value ; elements) {
  if      (key == Element.air)   value = 4;
  else if (key == Element.water) value = 2;
}

assert(elements.air   == 4);
assert(elements.water == 2);

Meta