RWIdentityDictionary(3C++) RWIdentityDictionary(3C++)
NameRWIdentityDictionary - Rogue Wave library class
Synopsis
#include <rw/idendict.h>
// Smalltalk typedef:
typedef RWIdentityDictionary IdentityDictionary;
RWIdentityDictionary a;
Description
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.
Persistence
None
Public Constructor
RWIdentityDictionary(size_t n = RWDEFAULT_CAPACITY);
Construct an empty identity dictionary with n hashing buckets.
Public Operator
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.
Public Member Functions
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
Page 1
RWIdentityDictionary(3C++) RWIdentityDictionary(3C++)
that the virtual function isA() returns __RWIDENTITYDICTIONARY, the
ClassId for RWIdentityDictionary.
Page 2