Programming Tips - MFC: How do I iterate through a CMap ?

Date: 2008jan21 Framework: MFC Language: C/C++ Q. MFC: How do I iterate through a CMap<> ? A.
// Assuming you have a string -> pointer map like this typedef CMap< CString, LPCSTR, Node*, Node*> CMapStringToNode; // Loop through all elements this way: void interate_thru_cmap(CMapStringToNode &map) { CString strJunk; Node *node; pos = map.GetStartPosition(); for (;;) { if (pos == NULL) break; map.GetNextAssoc(pos, strJunk, node); // Do something with node ... } }
STL's map<> is easier to work with.