(file) Return to HashTable.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/HashTable.h between version 1.24 and 1.28

version 1.24, 2008/01/15 22:14:15 version 1.28, 2008/11/12 21:27:05
Line 143 
Line 143 
     _BucketBase* next;     _BucketBase* next;
 }; };
  
 class _HashTableRep;  
   
 /* This class implements a simple hash table forward iterator. */ /* This class implements a simple hash table forward iterator. */
 class PEGASUS_COMMON_LINKAGE _HashTableIteratorBase class PEGASUS_COMMON_LINKAGE _HashTableIteratorBase
 { {
Line 154 
Line 152 
  
     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:
  
     _HashTableIteratorBase(const _HashTableIteratorBase&);      // Note:  The default copy constructor/assignment operator is used by the
     _HashTableIteratorBase& operator=(const _HashTableIteratorBase&);      // postfix increment operator.  The member pointers may be safely copied
       // because they refer to structures that must not change while the iterator
       // is in scope.
  
     _BucketBase** _first;     _BucketBase** _first;
     _BucketBase** _last;     _BucketBase** _last;
     _BucketBase* _bucket;     _BucketBase* _bucket;
     friend class _HashTableRep;  
 }; };
  
 // ATTN: reorganization not supported yet. // ATTN: reorganization not supported yet.
Line 526 
Line 528 
     */     */
     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.
Line 562 
Line 573 
     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 */


Legend:
Removed from v.1.24  
changed lines
  Added in v.1.28

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2