Thirty-two bits by which to multiply a hashvalue to make all bits, more or less, significant.
This (unsigned) value is (1 << 32) * frac (0.5 + 0.5 * sqrt (5)). The value of which the fractional part is taken is the golden ratio. (0x9e3779b9).
The number of stored objects.
The 2log of the number of buckets.
id (self) init;
Remove all elements from the table.
void do Block block;
Return the key if present, or nil otherwise.
A different name for at.
Like member, but the elements are compared using the selector cmp.
Like member, but the element is identified on reference equality.
void encodeUsingCoder Encoder coder;
void initWithCoder Decoder coder;
protected void adjust_length int inc pre inc != 0;
Adjust the length of the hashtable, resizing if necessary.
protected void resize int new_shift;
void resizing_add BucketElement elt;
The HashTableContainer class is just a HashTable which knows how to mark its elements as a container. It is intended to be inherited by various class employing the HashTable class as a superclass for implementation reuse.
void add BucketElement elt;
Add elt to the receiving hashtable.
void remove BucketElement elt;
Remove elt from the receiving hashtable, if present.
instance (id) with Indexed b;
The array the dictionary uses to store the buckets.
The next bucket index we shall use.
The bucket element we're looking at.
protected id init Indexed b;
protected boolean next;
Update elt to point to the next bucket element.