Index - All Packages - All Categories - All Classes

Class ActualHashSet


Package: Udanax-Gold
All Superclasses: Object Heaper ScruSet MuSet HashSet
Protocols: Object
Categories: Xanadu-Collection-Sets

Class Methods

arrayStats: array


cleanupGarbage


countAdd: tally


countDelete: tally


countStepper: tally


countTest: tally


initTimeNonInherited



Overrides: MuSet class

linkTimeNonInherited


make



Overrides: HashSet class

makeHeaper: something



Overrides: HashSet class

makeIntegerVar: someSize



Overrides: HashSet class

Instance Methods

aboutToWrite

If my contents are shared, and I'm about to change them, make a copy of them.

actualAboutToWrite


checkSize: byAmount


contentsHash



Overrides: ScruSet

copy



Overrides: HashSet

count



Overrides: HashSet

create: newTally with: entries


create: newTally with: hashValues with: entries


createRcvr: receiver


destruct



Overrides: Heaper

distanceFromHome: loc with: home with: modulus


entryTableSize


hashFind: item

Starting at the item's preferred location and iterating (not recurring!) around the set's
storage while the slots we're examining are occupied...
If the current slot's occupant is the target item, return a hit
if the current occupant is closer to it's preferred location, return a miss.
If we've gone all the way around, return a miss.

hashRemove: from

Remove the indicated item from the set.
Iteratively (not recursively!) move other items up until one is nil or happier where it is.

hashStore: item with: values with: entries

Starting at the new item's preferred location and iterating (not recurring!) around the set's storage while the slots we're examining are occupied. (Caller assures us there IS a vacant slot) if the current occupant is no closer to it's preferred location, exchange it with the 'new' one. Bail out if the current occupant IS the new one.
Store the currently 'new' item.

hasMember: someone



Overrides: HashSet

introduce: anElement



Overrides: HashSet

isEmpty



Overrides: HashSet

printInternals: oo

This method is for regression testing.

Overrides: HashSet

receiveHashSet: rcvr

Make myHashEntries large enough that we won't grow.

remove: anElement



Overrides: HashSet

sendHashSet: xmtr

This currently doesn't take advantage of the optimizations in TableEntries. It should.

sendSelfTo: xmtr


stepper



Overrides: HashSet

store: anElement

maintainance note: storeAll: has a copy of the code starting at self hashFind:... for efficiency.

Overrides: HashSet

storeAll: other

union equivalent

Overrides: MuSet

theOne



Overrides: HashSet

wipe: anElement



Overrides: HashSet

wipeAll: other

Sort of minus. Wipe from myself all elements from other.
Turn myself into my current self minus other.

Overrides: MuSet


Index - All Packages - All Categories - All Classes