CMapStringToOb Class

A dictionary collection class that maps unique CString objects to CObject pointers.

class CMapStringToOb : public CObject

Members

Public Constructors

Name

Description

CMapStringToOb::CMapStringToOb

Constructor.

Public Methods

Name

Description

CMapStringToOb::GetCount

Returns the number of elements in this map.

CMapStringToOb::GetHashTableSize

Determines the current number of elements in the hash table.

CMapStringToOb::GetNextAssoc

Gets the next element for iterating.

CMapStringToOb::GetSize

Returns the number of elements in this map.

CMapStringToOb::GetStartPosition

Returns the position of the first element.

CMapStringToOb::HashKey

Calculates the hash value of a specified key.

CMapStringToOb::InitHashTable

Initializes the hash table.

CMapStringToOb::IsEmpty

Tests for the empty-map condition (no elements).

CMapStringToOb::Lookup

Looks up a void pointer based on the void pointer key. The pointer value, not the entity it points to, is used for the key comparison.

CMapStringToOb::LookupKey

Returns a reference to the key associated with the specified key value.

CMapStringToOb::RemoveAll

Removes all the elements from this map.

CMapStringToOb::RemoveKey

Removes an element specified by a key.

CMapStringToOb::SetAt

Inserts an element into the map; replaces an existing element if a matching key is found.

Public Operators

Name

Description

CMapStringToOb::operator [ ]

Inserts an element into the map — operator substitution for SetAt.

Remarks

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. Each element is serialized in turn if a map is stored to an archive, either with the overloaded insertion (<<) operator or with the Serialize member function.

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.

Map class derivation is similar to list derivation. See the article Collections for an illustration of the derivation of a special-purpose list class.

Inheritance Hierarchy

CObject

CMapStringToOb

Requirements

Header: afxcoll.h

See Also

Reference

CObject Class

Hierarchy Chart

CMapPtrToPtr Class

CMapPtrToWord Class

CMapStringToPtr Class

CMapStringToString Class

CMapWordToOb Class

CMapWordToPtr Class