Make find return the appropriate iterator/const_iterator
authorChris Lattner <sabre@nondot.org>
Sat, 10 Feb 2007 06:58:17 +0000 (06:58 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 10 Feb 2007 06:58:17 +0000 (06:58 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34137 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/DenseMap.h

index 7e8b8c5e02f2300ceff405f05d9614648577cba6..83edd640e33493125f6539b91125bbce70170b6f 100644 (file)
@@ -108,12 +108,18 @@ public:
     return LookupBucketFor(Val, TheBucket);
   }
   
-  iterator find(const KeyT &Val) const {
+  iterator find(const KeyT &Val) {
     BucketT *TheBucket;
     if (LookupBucketFor(Val, TheBucket))
       return iterator(TheBucket, Buckets+NumBuckets);
     return end();
   }
+  const_iterator find(const KeyT &Val) const {
+    BucketT *TheBucket;
+    if (LookupBucketFor(Val, TheBucket))
+      return const_iterator(TheBucket, Buckets+NumBuckets);
+    return end();
+  }
   
   bool insert(const std::pair<KeyT, ValueT> &KV) {
     BucketT *TheBucket;
@@ -334,7 +340,7 @@ class DenseMapConstIterator : public DenseMapIterator<KeyT, ValueT, KeyInfoT> {
 public:
   DenseMapConstIterator(const std::pair<KeyT, ValueT> *Pos,
                         const std::pair<KeyT, ValueT> *E)
-    : DenseMapIterator<KeyT, ValueT>(Pos, E) {
+    : DenseMapIterator<KeyT, ValueT, KeyInfoT>(Pos, E) {
   }
   const std::pair<KeyT, ValueT> &operator*() const {
     return *this->Ptr;