Pārlūkot izejas kodu

ENH: do not use count, find for map lookup

Bill Hoffman 23 gadi atpakaļ
vecāks
revīzija
ec4331d273
2 mainītis faili ar 17 papildinājumiem un 13 dzēšanām
  1. 3 2
      Source/cmBorlandMakefileGenerator.cxx
  2. 14 11
      Source/cmCacheManager.cxx

+ 3 - 2
Source/cmBorlandMakefileGenerator.cxx

@@ -414,9 +414,10 @@ std::string cmBorlandMakefileGenerator::CreateMakeVariable(const char* s, const
   std::string unmodified = s;
   unmodified += s2;
   // see if th
-  if(m_MakeVariableMap.count(unmodified))
+  std::map<cmStdString, cmStdString>::iterator i = m_MakeVariableMap.find(unmodified);
+  if(i != m_MakeVariableMap.end())
     {
-    return m_MakeVariableMap[unmodified];
+    return i->second;
     }
   std::string ret = unmodified;
   // if the string is greater the 32 chars it is an invalid vairable name

+ 14 - 11
Source/cmCacheManager.cxx

@@ -443,31 +443,34 @@ void cmCacheManager::OutputHelpString(std::ofstream& fout,
 
 void cmCacheManager::RemoveCacheEntry(const char* key)
 {
-  if(m_Cache.count(key))
-  {  
-    m_Cache.erase(key);
-  }
+  CacheEntryMap::iterator i = m_Cache.find(key);
+  if(i != m_Cache.end())
+    {
+    m_Cache.erase(i);
+    }
   else
-  {
-    std::cerr << "Failed to remove entry" << std::endl;
-  }
+    {
+    std::cerr << "Failed to remove entry:" << key << std::endl;
+    }
 }
 
 
 cmCacheManager::CacheEntry *cmCacheManager::GetCacheEntry(const char* key)
 {
-  if(m_Cache.count(key))
+  CacheEntryMap::iterator i = m_Cache.find(key);
+  if(i != m_Cache.end())
     {
-    return &(m_Cache.find(key)->second);
+    return &i->second;
     }
   return 0;
 }
 
 const char* cmCacheManager::GetCacheValue(const char* key) const
 {
-  if(m_Cache.count(key))
+  CacheEntryMap::const_iterator i = m_Cache.find(key);
+  if(i != m_Cache.end())
     {
-    return m_Cache.find(key)->second.m_Value.c_str();
+    return i->second.m_Value.c_str();
     }
   return 0;
 }