Mercurial > projects > dwt-win
view dwt/dwthelper/WeakHashMap.d @ 198:be4ce760802a
Add: missing files
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Thu, 10 Apr 2008 11:20:26 +0200 |
parents | |
children | 4ec36c3a04a3 |
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; } }