library: libCore #include "THashTable.h"

# THashTableIter

class description - source file - inheritance tree (.pdf)

## class THashTableIter : public TIterator

| Inheritance Chart:

`TIterator`

<-

`THashTableIter`

        private:

                         THashTableIter()
                   Int_t NextSlot()

        public:

                                     THashTableIter(const THashTable* ht, Bool_t dir = kIterForward)
                                     THashTableIter(const THashTableIter& iter)
                                     ~THashTableIter()
                      static TClass* Class()
          virtual const TCollection* GetCollection() const
                     virtual TClass* IsA() const
                    virtual TObject* Next()
                  virtual TIterator& operator=(const TIterator& rhs)
                     THashTableIter& operator=(const THashTableIter& rhs)
                        virtual void Reset()
                        virtual void ShowMembers(TMemberInspector& insp, char* parent)
                        virtual void Streamer(TBuffer& b)
                                void StreamerNVirtual(TBuffer& b)

### Data Members

        private:

          const THashTable* fTable       hash table being iterated
                      Int_t fCursor      current position in table
                 TListIter* fListCursor  current position in collision list
                     Bool_t fDirection   iteration direction

## Class Description

     THashTable

     THashTable implements a hash table to store TObject's. The hash
     value is calculated using the value returned by the TObject's
     Hash() function. Each class inheriting from TObject can override
     Hash() as it sees fit.
     THashTable does not preserve the insertion order of the objects.
     If the insertion order is important AND fast retrieval is needed
     use THashList instead.

/* */

THashTableIter(const THashTable *ht, Bool_t dir)

     Create a hashtable iterator. By default the iteration direction
     is kIterForward. To go backward use kIterBackward.

THashTableIter(const THashTableIter &iter) : TIterator(iter)

     Copy ctor.

~THashTableIter()

     Delete hashtable iterator.

TObject* Next()

     Return next object in hashtable. Returns 0 when no more objects in table.

Int_t NextSlot()

     Returns index of next slot in table containing list to be iterated.

void Reset()

     Reset the hashtable iterator. Either to beginning or end, depending on
     the initial iteration direction.

### Inline Functions

                THashTableIter THashTableIter(const THashTableIter& iter)
                    TIterator& operator=(const TIterator& rhs)
               THashTableIter& operator=(const THashTableIter& rhs)
            const TCollection* GetCollection() const
                       TClass* Class()
                       TClass* IsA() const
                          void ShowMembers(TMemberInspector& insp, char* parent)
                          void Streamer(TBuffer& b)
                          void StreamerNVirtual(TBuffer& b)

Author: Fons Rademakers 27/09/95
Last update: root/cont:$Name: $:$Id: THashTable.cxx,v 1.10 2005/03/24 07:13:35 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *