CMapStringToOb is a dictionary collection class that maps unique CString objects to CObject pointers. Once you have inserted a CString–CObject* pair (element) into the map, you can efficiently retrieve or delete the pair using a string or a CString value as a key. You can also iterate over all the elements in the map.
A variable of type POSITION is used for alternate entry access in all map variations. You can use a POSITION to “remember” an entry and to iterate through the map. You might think that this iteration is sequential by key value; it is not. The sequence of retrieved elements is indeterminate.
CMapStringToOb incorporates the IMPLEMENT_SERIAL macro to support serialization and dumping of its elements. If a map is stored to an archive, either with the overloaded insertion operator or with the Serialize member function, each element is, in turn, serialized.
If you need a diagnostic dump of the individual elements in the map (the CString value and the CObject contents), you must set the depth of the dump context to 1 or greater.
When a CMapStringToOb object is deleted, or when its elements are removed, the CString objects and the CObject pointers are removed. The objects referenced by the CObject pointers are not destroyed.
#include <afxcoll.h>
CMapPtrToPtr, CMapPtrToWord, CMapStringToPtr, CMapStringToString, CMapWordToOb, CMapWordToPtr
Map class derivation is similar to list derivation. See the tutorial in the Microsoft Class Library User's Guide for an illustration of the derivation of a special-purpose list class.