WeakIdentityDictionary.st
changeset 6 62211a9bc04d
child 10 4f1f9a91e406
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WeakIdentityDictionary.st	Thu Oct 21 01:50:27 1993 +0100
@@ -0,0 +1,42 @@
+"
+ COPYRIGHT (c) 1992 by Claus Gittinger
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+
+IdentityDictionary subclass:#WeakIdentityDictionary
+       instanceVariableNames:''
+       classVariableNames:''
+       poolDictionaries:''
+       category:'System-Support'
+!
+
+WeakIdentityDictionary comment:'
+
+COPYRIGHT (c) 1992 by Claus Gittinger
+              All Rights Reserved
+
+this is a special class to support keeping track of dependents without
+keeping the values alive - values simply become nil when no one else
+references it.
+
+$Header: /cvs/stx/stx/libbasic/WeakIdentityDictionary.st,v 1.1 1993-10-21 00:50:27 claus Exp $
+
+written dec 92 by claus
+'!
+
+!WeakIdentityDictionary methodsFor:'private'!
+
+setTally:size
+    "create initial (empty) key and value arrays"
+
+    valueArray := WeakArray new:size.
+    keyArray := Array new:size.
+    tally := 0
+! !