MapIterator

opApply wrapper to work around the problem that it isn't possible to have a static array opApply() argument because 'ref' is not allowed with a static array. Instead, the wrapper slices the argument and passes the slice to the 'foreach' body.

If the value type is 'void', the iteration delegate will only have a key argument.

Members

Aliases

Dg
alias Dg = int delegate(ref Kref)

Alias definitions of the Vref, the bucket element and the delegate type.

Dg
alias Dg = int delegate(ref Kref, ref Vref)
Undocumented in source.
Dgi
alias Dgi = int delegate(ref size_t i, ref Kref)

Alias definitions of the Vref, the bucket element and the delegate type.

Dgi
alias Dgi = int delegate(ref size_t i, ref Kref, ref Vref)
Undocumented in source.
Element
alias Element = Bucket!(cast(size_t)0, K).Element

Alias definitions of the Vref, the bucket element and the delegate type.

Element
alias Element = Bucket!(V.sizeof, K).Element
Undocumented in source.
Kref
alias Kref = Kelement[]

Kref type alias definition: A dynamic array of the base type of K if K is a static array or K itself otherwise.

Kref
alias Kref = K
Undocumented in source.
Vref
alias Vref = Velement[]
Undocumented in source.
Vref
alias Vref = V
Undocumented in source.

Functions

iterate
int iterate(Dg dg, Element element)

Invokes dg with the key and, unless V is 'void', the value of element.

iterate
int iterate(Dgi dg, size_t i, Element element)

Same method as above, but with counter

Static variables

k_is_static_array
auto k_is_static_array;
Undocumented in source.
k_is_static_array
auto k_is_static_array;
Undocumented in source.
v_is_static_array
auto v_is_static_array;
Undocumented in source.
v_is_static_array
auto v_is_static_array;
Undocumented in source.
v_is_static_array
auto v_is_static_array;
Undocumented in source.

Parameters

V

value type; 'void' indicates that there are no values at all.

K

key type

Meta