Package-level declarations
Types
A_Set is an interface that specifies the set-specific operations that an AvailObject must implement. It's a sub-interface of A_BasicObject, the interface that defines the behavior that all AvailObjects are required to support.
A_SetBin is a collection of values which are part of a set.
This class implements the internal hashed nodes of a Bagwell Ideal Hash Tree. It's similar to HashedMapBinDescriptor, but has operations suitable for use by a set rather than a map.
This abstract class organizes the idea of nodes in a Bagwell Ideal Hash Tree used to implement hashed maps.
An Avail set refers to the root of a Bagwell Ideal Hash Tree. If the set is empty, the root is nil, which may not be a member of a set. If the set has one element, the root is the element itself. If the set has two or more elements then a bin must be used. There are two types of bin, the linear bin and the hashed bin. The linear bin is used below a threshold size, after which a hashed bin is substituted. The linear bin simply contains an arbitrarily ordered list of elements, which are examined exhaustively when testing set membership. The hashed bin uses up to five bits of an element's hash value to partition the set. The depth of the bin in the hash tree determines which hash bits are used.