Это связанный контейнер:
Это означает, что он хранит пары «ключ / значение» внутренне (обозначается как value_type).
Предоставленный итератор перегружает операторы * и ->, чтобы дать вам ссылку на тип_значения. Который является std :: pair
Таким образом, вы можете попробовать это:
FileMap::const_iterator iter = m_fileMap.find(name);
if (iter != m_fileMap.end())
{
FileMap::value_type const& value = *iter;
FileMap::key_type const& key = iter->first; /* value.first */
FileMap::data_type const& data = iter->second; /* value.second */
// Alternatively:
// Assuming this hold: typedef std::tr1::unordered_map<std::wstring,FileData> FileMap;
std::wstring const& key1 = iter->first;
FileData const& data1 = iter->second;
}