version 1.26, 2008/01/16 21:07:44
|
version 1.28, 2008/11/12 21:27:05
|
|
|
| |
operator int() const { return _bucket != 0; } | operator int() const { return _bucket != 0; } |
| |
_HashTableIteratorBase operator++(int); |
void operator++(); |
| |
_HashTableIteratorBase& operator++(); |
void operator++(int) |
|
{ |
|
operator++(); |
|
} |
| |
protected: | protected: |
| |
|
|
*/ | */ |
Boolean lookup(const K& key, V& value) const; | Boolean lookup(const K& key, V& value) const; |
| |
|
/** Looks up the entry with the given key and returns a pointer to the |
|
value. Note that this pointer may become invalid when the HashTable |
|
is updated. |
|
@param key key of entry to be located. |
|
@param value Output pointer to the value. |
|
@return true if found; false otherwise. |
|
*/ |
|
Boolean lookupReference(const K& key, V*& value); |
|
|
/** Removes the entry with the given key. | /** Removes the entry with the given key. |
@param key key of entry to be removed. | @param key key of entry to be removed. |
@return true on success; false otherwise. | @return true on success; false otherwise. |
|
|
return false; | return false; |
} | } |
| |
|
template<class K, class V, class E, class H> |
|
inline Boolean HashTable<K, V, E, H>::lookupReference(const K& key, V*& value) |
|
{ |
|
_Bucket<K, V, E>* bucket = |
|
(_Bucket<K, V, E>*)_rep.lookup(H::hash(key), &key); |
|
|
|
if (bucket) |
|
{ |
|
value = &bucket->getValue(); |
|
return true; |
|
} |
|
|
|
return false; |
|
} |
|
|
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |
| |
#endif /* Pegasus_HashTable_h */ | #endif /* Pegasus_HashTable_h */ |