CMapStringToString Class
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at CMapStringToString Class.
Supports maps of CString
objects keyed by CString
objects.
Syntax
class CMapStringToString : public CObject
Members
The member functions of CMapStringToString
are similar to the member functions of class CMapStringToOb. Because of this similarity, you can use the CMapStringToOb
reference documentation for member function specifics. Wherever you see a CObject
pointer as a return value or "output" function parameter, substitute a pointer to char
. Wherever you see a CObject
pointer as an "input" function parameter, substitute a pointer to char
.
BOOL CMapStringToOb::Lookup(const char*<key>, CObject*&<rValue>) const;
for example, translates to
BOOL CMapStringToString::Lookup(LPCTSTR<key>, CString&<rValue>) const;
Public Structures
Name | Description |
---|---|
CMapStringToString::CPair | A nested structure containing a key value and the value of the associated string object. |
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. |
CMapStringToString::PGetFirstAssoc | Gets a pointer to the first CString in the map. |
CMapStringToString::PGetNextAssoc | Gets a pointer to the next CString for iterating. |
CMapStringToString::PLookup | Returns a pointer to a CString whose value matches the specified 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
CMapStringToString
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 dump of individual CString
- CString
elements, you must set the depth of the dump context to 1 or greater.
When a CMapStringToString
object is deleted, or when its elements are removed, the CString
objects are removed as appropriate.
For more information on CMapStringToString
, see the article Collections.
Inheritance Hierarchy
CMapStringToString
Requirements
Header: afxcoll.h
CMapStringToString::CPair
Contains a key value and the value of the associated string object.
Remarks
This is a nested structure within class CMapStringToString.
The structure is composed of two fields:
key The actual value of the key type.
value The value of the associated object.
It is used to store the return values from CMapStringToString::PLookup, CMapStringToString::PGetFirstAssoc, and CMapStringToString::PGetNextAssoc.
Example
For an example of usage, see the example for CMapStringToString::PLookup.
CMapStringToString::PGetFirstAssoc
Returns the first entry of the map object.
const CPair* PGetFirstAssoc() const;
CPair* PGetFirstAssoc();
```
### Return Value
A pointer to the first entry in the map; see [CMapStringToString::CPair](#cmapstringtostring__cpair). If the map is empty, the value is `NULL`.
### Remarks
Call this function to return a pointer the first element in the map object.
### Example
[!CODE [NVC_MFCCollections#73](../CodeSnippet/VS_Snippets_Cpp/NVC_MFCCollections#73)]
## <a name="cmapstringtostring__pgetnextassoc"></a> CMapStringToString::PGetNextAssoc
Retrieves the map element pointed to by `pAssocRec`.
const CPair PGetNextAssoc(const CPair pAssoc) const;
CPair PGetNextAssoc(const CPair pAssoc); ```
Parameters
pAssoc
Points to a map entry returned by a previous PGetNextAssoc or PGetFirstAssoc call.
Return Value
A pointer to the next entry in the map; see CMapStringToString::CPair. If the element is the last in the map, the value is NULL.
Remarks
Call this method to iterate through all the elements in the map. Retrieve the first element with a call to PGetFirstAssoc
and then iterate through the map with successive calls to PGetNextAssoc
.
Example
See the example for CMapStringToString::PGetFirstAssoc.
CMapStringToString::PLookup
Looks up the value mapped to a given key.
const CPair* PLookup(LPCTSTR key) const;
CPair* PLookup(LPCTSTR key);
```
### Parameters
`key`
A pointer to the key for the element to be searched for.
### Return Value
A pointer to the specified key.
### Remarks
Call this method to search for a map element with a key that exactly matches the given key.
### Example
[!CODE [NVC_MFCCollections#74](../CodeSnippet/VS_Snippets_Cpp/NVC_MFCCollections#74)]
## See Also
[MFC Sample COLLECT](../Topic/Visual%20C++%20Samples.md)
[CObject Class](../Topic/CObject%20Class.md)
[Hierarchy Chart](../Topic/Hierarchy%20Chart.md)