aammm 0.0.8

Associative arrays with new std experimental allocators.

To use this package, put the following dependency into your project's dependencies section:


Build Status


Associative arrays with manual memory management

All enries and buckets would be dealocated and disposed by internal implementation's destructor. The destructor is called by garbage collector (by default).

    //std.experimental.allocator is included into `aammm`
    import std.experimental.allocator.mallocator;
    import aammm;

    auto a = aa!(string, int)(Mallocator.instance);
    a["foo"] = 0;
    a.remove("foo"); //dealocates and disposes the entry
    assert(a == null); // should not crash
Example with FreeList
    import std.experimental.allocator.mallocator;
    import std.experimental.allocator.building_blocks.free_list;
    alias Alloc = FreeList!(shared Mallocator, long.sizeof);
    Alloc  alloc;
    scope(exit) alloc.minimize;
    auto m = aa!(long, long)(alloc);

Authors:Andrei Alexandrescu (allocators), Martin Nowak (associative arrays), Ilya Yaroshenko (bundle, associative arrays)

Dependencies: none

0.0.8 2015-Oct-11
0.0.7 2015-Sep-24
0.0.4 2015-Sep-11
0.0.3 2015-Aug-26
0.0.2 2015-Aug-26
Show all 7 versions

statistics are temporarily disabled.