diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-01-15 23:53:53 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-01-15 23:53:53 +0000 |
commit | d483dfe2638c206f8d2523184da06921f78efe00 (patch) | |
tree | e5c9fd08518c07f849a8b85c4eafbe277a5b64aa | |
parent | ac953094d5c769265a2eeda5272c8c50ae4fc8a1 (diff) | |
download | external_llvm-d483dfe2638c206f8d2523184da06921f78efe00.zip external_llvm-d483dfe2638c206f8d2523184da06921f78efe00.tar.gz external_llvm-d483dfe2638c206f8d2523184da06921f78efe00.tar.bz2 |
Changed ImmutableMap::find to return an iterator instead of a pointer
to the tree node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46034 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/ADT/ImmutableMap.h | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/include/llvm/ADT/ImmutableMap.h b/include/llvm/ADT/ImmutableMap.h index 24aef7c..9646929 100644 --- a/include/llvm/ADT/ImmutableMap.h +++ b/include/llvm/ADT/ImmutableMap.h @@ -98,15 +98,7 @@ public: bool contains(key_type_ref K) const { return Root ? Root->contains(K) : false; } - - data_type* find(key_type_ref K) const { - if (Root) { - TreeTy* T = Root->find(K); - if (T) return &T->getValue().second; - } - - return NULL; - } + bool operator==(ImmutableMap RHS) const { return Root && RHS.Root ? Root->isEqual(*RHS.Root) : Root == RHS.Root; @@ -171,7 +163,7 @@ public: iterator() {} iterator(TreeTy* t) : itr(t) {} - friend class ImmutableSet<ValT,ValInfo>; + friend class ImmutableMap; public: inline value_type_ref operator*() const { return itr->getValue(); } @@ -189,6 +181,15 @@ public: iterator begin() const { return iterator(Root); } iterator end() const { return iterator(); } + iterator find(key_type_ref K) const { + if (Root) { + TreeTy* T = Root->find(K); + if (T) return iterator(T); + } + + return iterator(); + } + //===--------------------------------------------------===// // Utility methods. //===--------------------------------------------------===// |