8#ifndef __CO_HASH_BASE_H
9#define __CO_HASH_BASE_H
26template <
class KEY,
class DATA>
38 virtual unsigned long nextHash(
unsigned long )
const
44 virtual int insert(
const KEY &key,
const DATA &inData);
47 virtual unsigned long hash1(
const KEY &)
const = 0;
50 virtual unsigned long hash2(
const KEY &)
const = 0;
53 virtual bool equal(
const KEY &,
const KEY &)
const = 0;
58template <
class KEY,
class DATA>
61 unsigned int x, u, hash;
69 && (!equal(key, this->keys[
x])))
76 this->
data[
x] = inData;
83 && (
x != hash) && (!equal(key, this->keys[
x])))
93 if (this->entries > this->maxEntries)
GLsizeiptr size
Definition: khronos-glext.h:6610
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: khronos-glext.h:6354
GLint GLint GLint GLint GLint x
Definition: khronos-glext.h:6346
list of all chemical elements
Definition: coConfig.h:27
Definition: coHashBase.h:28
virtual bool equal(const KEY &, const KEY &) const =0
KEY1 == KEY2 operation (pure virtual)
virtual unsigned long hash1(const KEY &) const =0
first hash function (pure virtual)
virtual unsigned long hash2(const KEY &) const =0
second hash function (pure virtual)
coHashBase()
Definition: coHashBase.h:34
coHashBase(DATA nullelem)
Definition: coHashBase.h:31
virtual int insert(const KEY &key, const DATA &inData)
insert: if existing element, replace it
Definition: coHashBase.h:59
virtual unsigned long nextHash(unsigned long) const
no identical keys in table
Definition: coHashBase.h:38
Definition: coMultiHashBase.h:42