aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/ADT/DenseMap.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/include/llvm/ADT/DenseMap.h b/include/llvm/ADT/DenseMap.h
index 7e8b8c5e02..83edd640e3 100644
--- a/include/llvm/ADT/DenseMap.h
+++ b/include/llvm/ADT/DenseMap.h
@@ -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;