Class
#categories!
private-initialization!
private-table manipulation!
private-accessing!
private-computations!
accessing!
private-subclass responsibility!
private-subroutines for #tableAt:put:ifNew:!
removing!
including/adding!
private-misc!
testing!
iterating!
consistency testing!
debugging! !
includeAll:!
4220498!
including/adding!
0Cltn[A]:Cltn[A]! !
deleted!
4210274!
private-accessing!
1Int! !
elementForCopy:!
4214636!
private-subclass responsibility!
1A:A! !
remove:ifAbsent:!
4217940!
removing!
2A:[^X def]:A|X! !
tableAt:put:inMatchingSlot:value:!
4216961!
private-subroutines for #tableAt:put:ifNew:!
1K:E:Int:A:A! !
printStats!
4223125!
debugging!
0! !
buildValForKey:element:!
4214180!
private-subclass responsibility!
1K:E:A! !
#typeArgumentString!
K , E , A ! !
removeKey:!
4219029!
removing!
0K:E! !
includesElement:!
4221700!
testing!
0A:Boolean! !
#branded!
true! !
#supportedProtocolString!
Indexed[K,E]! !
lookup:inTable:matchingSlotDo:emptySlotDo:deletedSlotsDo:mismatchingSlotsDo:!
7897332!
private-table manipulation!
3Object:Array[Object|A]:[Int,A,^X def]:[Int,^Y def]:[Int]:[Int]:X|Y! !
removeAllSuchThat:!
5972635!
removing!
0[A,^Boolean]:! !
add:!
4219743!
including/adding!
0A:A! !
addAll:!
4219899!
including/adding!
0Cltn[A]:Cltn[A]! !
tableAt:put:inDeletedSlot:!
4216264!
private-subroutines for #tableAt:put:ifNew:!
1K:E:Int:A! !
objToIncludeFor:withExisting:!
4215822!
private-subclass responsibility!
1A:A:A! !
postCopy!
7907436!
private-misc!
1! !
#revision!
$Revision: 1.4 $! !
minTableSizeForCapacity:!
4211769!
private-computations!
1Int:Int! !
printElementsDo:!
4221540!
private-misc!
1[Object]:! !
removeAt:!
4218344!
removing!
0K:E! !
key:matches:!
4215365!
private-subclass responsibility!
1Object:Object:Boolean! !
includesKey:!
4222172!
testing!
0Object:Boolean! !
removeKey:ifAbsent:!
7906928!
removing!
2K:[^X def]:E|X! !
indexOf:ifAbsent:!
4213392!
accessing!
2Object:[^X def]:K|X! !
size:!
4210732!
private-accessing!
1Int:! !
lookup:matchingSlotDo:emptySlotDo:deletedSlotsDo:!
7898365!
private-table manipulation!
3Object:[Int,A,^X def]:[Int,^Y def]:[Int]:X|Y! !
markDeleted:!
4220696!
private-misc!
1Int:! !
#isGeneric!
true! !
#comment!
(c) 1995-1997 Sun Microsystems, Inc. ALL RIGHTS RESERVED. 
Use and distribution of this software is subject to the terms of the attached source license.! !
indexOf:!
4213186!
accessing!
0Object:K! !
include:ifNew:!
4220262!
including/adding!
0A:[]:A! !
advanceAmount!
4211234!
private-computations!
1Int! !
at:ifAbsent:!
4212964!
accessing!
2Object:[^X def]:E|X! !
growIfNeeded!
4206549!
private-table manipulation!
1! !
keysDo:!
4222538!
iterating!
0[K]:! !
atIndex:inTable:occupiedSlotDo:emptySlotDo:deletedSlotDo:!
7903914!
private-table manipulation!
3Int:Array[Object|A]:[A,^X def]:[^Y def]:[^Z def]:X|Y|Z! !
table:!
4211028!
private-accessing!
1Array[A|Object]:! !
#group!
base! !
tableAt:put:inEmptySlot:!
4216657!
private-subroutines for #tableAt:put:ifNew:!
1K:E:Int:A! !
tableAt:put:inUnusedSlot:!
4217350!
private-subroutines for #tableAt:put:ifNew:!
1K:E:Int:A! !
createFirstTable!
4206331!
private-table manipulation!
1! !
minTableSize!
4211623!
private-computations!
1Int! !
setTable:!
4210568!
private-accessing!
1Array[A|Object]:! !
table!
4210876!
private-accessing!
1Array[A|Object]! !
#extensionsAreSubtypes!
true! !
tableAt:put:ifNew:!
7906048!
private-table manipulation!
1K:E:[]:A! !
removeAt:ifAbsent:!
4218576!
removing!
2K:[^X def]:E|X! !
elementFor:!
4214422!
private-subclass responsibility!
1A:E! !
hashFor:!
4215126!
private-subclass responsibility!
1Object:Int! !
growTable!
7905387!
private-table manipulation!
1! !
removeEvery:!
4218854!
removing!
0A:A! !
keyAtValue:ifAbsent:!
4213827!
accessing!
2Object:[^X def]:K|X! !
includesIndex:!
4221981!
testing!
0Object:Boolean! !
statsDo:!
4223960!
debugging!
0[Float,Float,Int]:! !
keyFor:!
4215612!
private-subclass responsibility!
1A:K! !
contentsDo:!
7904955!
private-table manipulation!
1[A]:! !
removeAll:!
4218152!
removing!
0Cltn[A]:Cltn[A]! !
#superclassTypeString!
Collection[E]! !
newTableWithSize:!
4211973!
private-computations!
1Int:Array[A|Object]! !
at:!
4212779!
accessing!
0K:E! !
include:!
4220090!
including/adding!
0A:A! !
#instanceVariableString!
table <Array[A|Object]>
			"The table holds either included entries, or an object indicating a deleted entry,
				which is currently the table itself.  This of course means that the table is not allowed
				as a valid element of the collection, but this is only an issue when writing reflective
				system code that violates encapsulation."
size <Int>
			"the number of collection elements (not the size of the table)"
deleted <Int>
			"the number of slots marked with the deletion placeholder"
		! !
remove:!
4217738!
removing!
0A:A! !
size!
4214028!
accessing!
0Int! !
printStatsOn:!
4223278!
debugging!
0CharOutputStream:! !
valAt:ifAbsent:!
7896890!
private-table manipulation!
3Object:[^X def]:A|X! !
initCapacity:!
4205037!
private-initialization!
1Int:! !
tableSizeForCapacity:!
4212347!
private-computations!
1Int:Int! !
#subtype!
true! !
occupied!
4212182!
private-computations!
1Int! !
#abstract!
true! !
checkValidity!
4222744!
consistency testing!
0! !
deleted:!
4210418!
private-accessing!
1Int:! !
keyAtValue:!
4213670!
accessing!
0Object:K! !
indexOf:tableMask:!
4211409!
private-computations!
1Object:Int:Int! !
do:!
4222342!
iterating!
0[E]:! !
