rt.aaA

Implementation of associative arrays.

Members

Functions

_aaApply
int _aaApply(AA aa, const size_t keysz, dg_t dg)

foreach opApply over all values

_aaApply2
int _aaApply2(AA aa, const size_t keysz, dg2_t dg)

foreach opApply over all key/value pairs

_aaClear
void _aaClear(AA aa)

Remove all elements from AA.

_aaDelX
bool _aaDelX(AA aa, scope const TypeInfo keyti, scope const void* pkey)

Delete entry scope const AA, return true if it was present

_aaEqual
int _aaEqual(scope const TypeInfo tiRaw, scope const AA aa1, scope const AA aa2)

compares 2 AAs for equality

_aaGetHash
hash_t _aaGetHash(scope const AA* aa, scope const TypeInfo tiRaw)

compute a hash

_aaGetRvalueX
inout(void)* _aaGetRvalueX(inout AA aa, scope const TypeInfo keyti, const size_t valsz, scope const void* pkey)

Lookup *pkey in aa. Called only from implementation of (aakey) expressions when value is not mutable.

_aaGetX
void* _aaGetX(AA* aa, const TypeInfo_AssociativeArray ti, const size_t valsz, scope const void* pkey, out bool found)

Lookup *pkey in aa. Called only from implementation of require

_aaGetY
void* _aaGetY(AA* aa, const TypeInfo_AssociativeArray ti, const size_t valsz, scope const void* pkey)

Lookup *pkey in aa. Called only from implementation of (aakey) expressions when value is mutable.

_aaInX
inout(void)* _aaInX(inout AA aa, scope const TypeInfo keyti, scope const void* pkey)

Lookup *pkey in aa. Called only from implementation of (key in aa) expressions.

_aaKeys
inout(void[]) _aaKeys(inout AA aa, const size_t keysz, const TypeInfo tiKeyArray)

Return a GC allocated array of all keys

_aaLen
size_t _aaLen(scope const AA aa)

Determine number of entries in associative array.

_aaRehash
void* _aaRehash(AA* paa, scope const TypeInfo keyti)

Rehash AA

_aaValues
inout(void[]) _aaValues(inout AA aa, const size_t keysz, const size_t valsz, const TypeInfo tiValueArray)

Return a GC allocated array of all values

_d_assocarrayliteralTX
Impl* _d_assocarrayliteralTX(const TypeInfo_AssociativeArray ti, void[] keys, void[] vals)

Construct an associative array of type ti from keys and value

Structs

AA
struct AA

Opaque AA wrapper

Range
struct Range

_aaRange implements a ForwardRange

Variables

_aaVersion
int _aaVersion;

AA version for debuggers, bump whenever changing the layout

Meta

Authors

Martin Nowak

Suggestion Box / Bug Report