September 11, 2008 [Issue 2105] Manual Memory Management for Associative Arrays | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=2105 ------- Comment #10 from dsimcha@yahoo.com 2008-09-10 22:14 ------- Here's a slightly updated version of deleteAA() that allows a reference to be reused after the AA is deleted, so that deleteAA() can be used as both a memory management tool and a clear function. void deleteAA(T, U)(ref T[U] input) { auto aaPtr = cast(BB*) cast(void*) input; deleteBB(aaPtr); //Allows AA reference to be reused, i.e. this can be used as a clear function. input = (T[U]).init; } void deleteBB(BB* aaPtr) { void rdelAA(aaA* input) { if(input.left !is null) rdelAA(input.left); if(input.right !is null) rdelAA(input.right); delete input; } foreach(node; aaPtr.b) if(node !is null) rdelAA(node); delete aaPtr.b; delete aaPtr; } -- |
December 25, 2008 [Issue 2105] Manual Memory Management for Associative Arrays | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=2105 bugzilla@digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #11 from bugzilla@digitalmars.com 2008-12-25 04:38 ------- Fixed dmd 1.038 amd 2.022 -- |
January 02, 2009 [Issue 2105] Manual Memory Management for Associative Arrays | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=2105 dsimcha@yahoo.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|FIXED | ------- Comment #12 from dsimcha@yahoo.com 2009-01-01 23:38 ------- The patch only partially resolves the issue. There is still no way to manually delete AAs, it's just that now, old arrays of pointers to AA structs is deterministically freed when the array is rehashed. The other part was that there should be a delete statement for AAs. -- |
January 13, 2009 [Issue 2105] Manual Memory Management for Associative Arrays | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=2105 ------- Comment #13 from mmoncure@gmail.com 2009-01-13 06:59 ------- I would be personally satisfied if AA memory was cleaned up if they are defined 'scope' when they leave scope...is this the case? -- |
August 27, 2011 [Issue 2105] Manual Memory Management for Associative Arrays | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=2105 David Simcha <dsimcha@yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED Resolution| |FIXED --- Comment #14 from David Simcha <dsimcha@yahoo.com> 2011-08-27 07:35:35 PDT --- I'm resolving this one as fixed because the NO_INTERIOR patch accomplishes the same thing, though in a different way. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation