Mercurial > projects > dwt-mac
view dwt/dwthelper/WeakHashMap.d @ 45:d8635bb48c7c
Merge with SWT 3.5
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Mon, 01 Dec 2008 17:07:00 +0100 |
parents | 380af2bdd8e5 |
children |
line wrap: on
line source
module dwt.dwthelper.WeakHashMap; /+ Is not yet 'weak' +/ class WeakHashMap { static class Ref { size_t ptr; this(Object k){ ptr = cast(size_t)cast(void*)k; } } Object[ Ref ] data; public void add (Object key, Object element){ auto k = new Ref(key); data[ k ] = element; } public void removeKey (Object key){ scope k = new Ref(key); data.remove( k ); } public Object get(Object key){ scope k = new Ref(key); if( auto p = k in data ){ return *p; } return null; } }