Reverted implementation of ImmutableMap::find() to return a TreeTy* instead of

an iterator, since the implementation returned an iterator that pointed to a
different node! Renamed this implementation to SlimFind() so that users do not
expect it to return an iterator (it is a more efficient implementation than
returning an iterator if the user just wants to find the value of a key).

Added a FIXME to implement ImmutableMap::find() that returns an iterator.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46150 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ted Kremenek 2008-01-18 00:38:04 +00:00
parent 25a0195114
commit e8277538e7

View File

@ -188,15 +188,17 @@ public:
iterator begin() const { return iterator(Root); }
iterator end() const { return iterator(); }
iterator find(key_type_ref K) const {
TreeTy* SlimFind(key_type_ref K) const {
if (Root) {
TreeTy* T = Root->find(K);
if (T) return iterator(T);
if (T) return T;
}
return iterator();
return NULL;
}
// FIXME: Add 'find' that returns an iterator instead of a TreeTy*.
//===--------------------------------------------------===//
// Utility methods.
//===--------------------------------------------------===//