RWIdentityDictionaryRWHashDictionaryRWSetRWHashTable... ...RWCollectionRWCollectable
Member Functions |
operator<=() |
#include <rw/idendict.h> // Smalltalk typedef: typedef RWIdentityDictionary IdentityDictionary; RWIdentityDictionary a;
The class RWIdentityDictionary is implemented as a hash table, for the storage and retrieval of key-value pairs. Class RWIdentityDictionary is similar to class RWHashDictionary except that items are found by requiring that they be identical (i.e., have the same address) as the key, rather than being equal (i.e., test true for isEqual()).
Both keys and values must inherit from the abstract base class RWCollectable.
The iterator for this class is RWHashDictionaryIterator.
None
RWIdentityDictionary(size_t n = RWDEFAULT_CAPACITY);
Construct an empty identity dictionary with n hashing buckets.
RWBoolean operator<=(const RWIdentityDictionary& t) const;
Returns TRUE if self is a subset of t, that is, every element of self has a counterpart in t which isEqual. This operator is not explicitly present unless you are compiling with an implementation of the Standard C++ Library. It is normally inherited from RWHashDictionary.
Note: If you inherit from RWIdentityDictionary in the presence of the Standard C++ Library, we recommend that you override this operator and explicitly forward the call. Overload resolution in C++ will choose the Standard Library provided global operators over inherited class members. These global definitions are not appropriate for set-like partial orderings.
The user interface to this class is identical to class RWHashDictionary and is not reproduced here. The only difference between the classes is that keys are found on the basis of identity rather than equality, and that the virtual function isA() returns __RWIDENTITYDICTIONARY, the ClassId for RWIdentityDictionary.