Tables of the Smalltalk-like Classes

The following table and figure summarize the Essential Tools Module Smalltalk-like classes. Smalltalk-like collection classes and their iterators, typedefs, and implementations lists all 17 classes, along with their typedefs, iterators, and implementations. Following is the class hierarchy.

Table 43. Smalltalk-like collection classes and their iterators, typedefs, and implementations

Class

Iterator

Smalltalk typedef (deprecated)

Implemented as

RWBag

RWBagIterator

Bag

Dictionary of occurrences

RWBinaryTree

RWBinaryTreeIterator

SortedCollection

Binary tree

RWBTree

 

 

B-tree in memory

RWBTreeDictionary

 

 

B-tree of associations

RWCollection

RWIterator

Collection

Abstract base class

RWDlistCollectables

RWDlistCollectablesIterator

 

Doubly-linked list

RWHashTable

RWHashTableIterator

 

Hash table

RWHashDictionary

RWHashDictionaryIterator

Dictionary

Hash table of associations

RWIdentityDictionary

RWHashDictionaryIterator

IdentityDictionary

Hash table of associations

RWIdentitySet

RWSetIterator

IdentitySet

Hash table

RWOrdered

RWOrderedIterator

OrderedCollection

Vector of pointers

RWSequenceable

RWIterator

Sequenceable

Abstract base class

RWSet

RWSetIterator

Set

Hash table

RWSlistCollectables

RWSlistCollectablesIterator

LinkedList

Singly-linked list

RWSlistCollectablesQueue

(n/a)

Queue

Singly-linked list

RWSlistCollectablesStack

(n/a)

Stack

Singly-linked list

RWSortedVector

RWSortedVectorIterator

 

Vector of pointers, using insertion sort

The class hierarchy of the Smalltalk-like collection classes

RWCollectable

 

RWCollection (abstract base class)

 

 

RWBinaryTree

 

 

RWBTree

 

 

 

RWBTreeDictionary

 

 

RWBag

 

 

RWSequenceable (abstract base class)

 

 

 

RWDlistCollectables (doubly-linked lists)

 

 

 

RWOrdered

 

 

 

 

RWSortedVector

 

 

 

RWSlistCollectables (singly-linked lists)

 

 

 

 

RWSlistCollectablesQueue

 

 

 

 

RWSlistCollectablesStack

 

 

RWHashTable

 

 

 

RWSet

 

 

 

 

RWIdentitySet

 

 

 

 

RWHashDictionary

 

 

 

 

RWIdentityDictionary

Some of these classes use multiple-inheritance: this hierarchy is shown relative to the RWCollectable base class.