Add StringMap::lookup.
authorDaniel Dunbar <daniel@zuster.org>
Thu, 12 Mar 2009 01:16:06 +0000 (01:16 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 12 Mar 2009 01:16:06 +0000 (01:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66750 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/StringMap.h

index 08418ee3c1e5fa46e8d563fe790063476ef80459..f5394750f253fe23cf9d507d748419e4c03d4684 100644 (file)
@@ -303,6 +303,27 @@ public:
     return find(key_start, key_start + Key.size());
   }
 
+   /// lookup - Return the entry for the specified key, or a default
+  /// constructed value if no such entry exists.
+  ValueTy lookup(const char *KeyStart, const char *KeyEnd) const {
+    const_iterator it = find(KeyStart, KeyEnd);
+    if (it != end())
+      return it->second;
+    return ValueTy();
+  }
+  ValueTy lookup(const char *Key) const {
+    const_iterator it = find(Key);
+    if (it != end())
+      return it->second;
+    return ValueTy();
+  }
+  ValueTy lookup(const std::string &Key) const {
+    const_iterator it = find(Key);
+    if (it != end())
+      return it->second;
+    return ValueTy();
+  }
+
   ValueTy& operator[](const char *Key) {
     return GetOrCreateValue(Key, Key + strlen(Key)).getValue();
   }