COVISE Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
Public Member Functions | List of all members
covise::coHashBase< KEY, DATA > Class Template Referenceabstract

#include <coHash.h>

Inheritance diagram for covise::coHashBase< KEY, DATA >:
Inheritance graph
[legend]
Collaboration diagram for covise::coHashBase< KEY, DATA >:
Collaboration graph
[legend]

Public Member Functions

 coHashBase (DATA nullelem)
 
 coHashBase ()
 
virtual unsigned long nextHash (unsigned long) const
 no identical keys in table More...
 
virtual int insert (const KEY &key, const DATA &inData)
 insert: if existing element, replace it More...
 
virtual unsigned long hash1 (const KEY &) const =0
 first hash function (pure virtual) More...
 
virtual unsigned long hash2 (const KEY &) const =0
 second hash function (pure virtual) More...
 
virtual bool equal (const KEY &, const KEY &) const =0
 KEY1 == KEY2 operation (pure virtual) More...
 
- Public Member Functions inherited from covise::coMultiHashBase< KEY, DATA >
 coMultiHashBase ()
 constructor More...
 
 coMultiHashBase (DATA nullelem)
 constructor More...
 
const DATA & getNullElem () const
 get the NULL element More...
 
virtual ~coMultiHashBase ()
 destructor More...
 
int remove (unsigned long hashIndex)
 remove an entry by hashIndex More...
 
void removeAll ()
 remove an entry by hashIndex More...
 
unsigned long getHash (const KEY &key) const
 get hash index, 0 if no element found More...
 
DATA & operator[] (unsigned long hashIndex)
 access element by hash index: assert() correct index !! More...
 
const DATA & operator[] (unsigned long hashIndex) const
 access element by hash index: assert() correct index !! More...
 
int getNumEntries () const
 get number of entries currently in hash More...
 

Additional Inherited Members

- Protected Types inherited from covise::coMultiHashBase< KEY, DATA >
enum  { EMPTY = 0, PREVIOUS, USED }
 
- Protected Attributes inherited from covise::coMultiHashBase< KEY, DATA >
KEY * keys
 
unsigned char * entryFlags
 
unsigned int size
 size of the list More...
 
unsigned int prime
 the prime currently used as the length of the list More...
 

Constructor & Destructor Documentation

template<class KEY , class DATA >
covise::coHashBase< KEY, DATA >::coHashBase ( DATA  nullelem)
inline
template<class KEY , class DATA >
covise::coHashBase< KEY, DATA >::coHashBase ( )
inline

Member Function Documentation

template<class KEY , class DATA >
virtual bool covise::coHashBase< KEY, DATA >::equal ( const KEY &  ,
const KEY &   
) const
pure virtual

KEY1 == KEY2 operation (pure virtual)

Implements covise::coMultiHashBase< KEY, DATA >.

template<class KEY , class DATA >
virtual unsigned long covise::coHashBase< KEY, DATA >::hash1 ( const KEY &  ) const
pure virtual

first hash function (pure virtual)

Implements covise::coMultiHashBase< KEY, DATA >.

template<class KEY , class DATA >
virtual unsigned long covise::coHashBase< KEY, DATA >::hash2 ( const KEY &  ) const
pure virtual

second hash function (pure virtual)

Implements covise::coMultiHashBase< KEY, DATA >.

template<class KEY , class DATA >
int covise::coHashBase< KEY, DATA >::insert ( const KEY &  key,
const DATA &  inData 
)
inlinevirtual

insert: if existing element, replace it

Reimplemented from covise::coMultiHashBase< KEY, DATA >.

Reimplemented in covise::coHash< KEY, DATA >.

template<class KEY , class DATA >
virtual unsigned long covise::coHashBase< KEY, DATA >::nextHash ( unsigned long  ) const
inlinevirtual

no identical keys in table

Reimplemented from covise::coMultiHashBase< KEY, DATA >.


The documentation for this class was generated from the following files: