From 316e98447122fc3f1e99930583a305ba481e848c Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Tue, 15 Jan 2008 23:53:53 +0000 Subject: [PATCH] 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 --- include/llvm/ADT/ImmutableMap.h | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/include/llvm/ADT/ImmutableMap.h b/include/llvm/ADT/ImmutableMap.h index 24aef7ccfdc..9646929c3ca 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; + 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. //===--------------------------------------------------===// -- 2.34.1