Mercurial > projects > dwt-mac
view dwt/dwthelper/WeakHashMap.d @ 156:969e7de37c3d default tip
Fixes to get dwt to work with dmd and ldc
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Wed, 08 Jul 2009 21:56:44 +0200 |
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; } }