8#ifndef _CO_HASH_ITER_H_
9#define _CO_HASH_ITER_H_
22template <
class KEY,
class DATA>
25template <
class KEY,
class DATA>
33template <
class KEY,
class DATA>
38 friend class coHash<KEY, DATA>;
86#define HT_EMPTY coMultiHashBase<KEY, DATA>::EMPTY
87#define HT_PREVIOUS coMultiHashBase<KEY, DATA>::PREVIOUD
88#define HT_USED coMultiHashBase<KEY, DATA>::USED
91template <
class KEY,
class DATA>
98template <
class KEY,
class DATA>
104 while ((d_index < d_hash->
size) && (d_hash->entryFlags[d_index] !=
HT_USED))
109template <
class KEY,
class DATA>
111 unsigned long hashIndex)
113 d_index = hashIndex - 1;
114 d_hashIndex = hashIndex;
119template <
class KEY,
class DATA>
123 && (d_index < d_hash->
size)
124 && (d_hash->entryFlags[d_index] ==
HT_USED));
127template <
class KEY,
class DATA>
145 d_hashIndex = d_hash->nextHash(d_hashIndex);
146 d_index = d_hashIndex - 1;
153 while ((d_index < d_hash->
size) && (d_hash->entryFlags[d_index] !=
HT_USED))
158template <
class KEY,
class DATA>
161 assert((d_index < d_hash->
size) && (d_hash->entryFlags[d_index] ==
HT_USED));
162 return d_hash->data[d_index];
165template <
class KEY,
class DATA>
172 while ((d_index < d_hash->
size) && (d_hash->entryFlags[d_index] !=
HT_USED))
176template <
class KEY,
class DATA>
179 assert((d_index < d_hash->
size) && (d_hash->entryFlags[d_index] ==
HT_USED));
180 return d_hash->keys[d_index];
183template <
class KEY,
class DATA>
#define INLINE
Definition: coHashIter.h:16
#define HT_USED
Definition: coHashIter.h:88
#define NULL
Definition: covise_list.h:22
GLsizeiptr size
Definition: khronos-glext.h:6610
GLenum GLsizei GLenum GLenum const GLvoid * table
Definition: khronos-glext.h:6347
list of all chemical elements
Definition: coConfig.h:27
Definition: coMultiHash.h:33
Definition: coHashIter.h:35
DATA & operator()()
Access: iter() accesses element.
Definition: coHashIter.h:159
void reset()
Initialize to first Element of hash.
Definition: coHashIter.h:166
unsigned long hash()
Access: iter.hash() accesses hash value.
Definition: coHashIter.h:184
unsigned long d_index
Definition: coHashIter.h:80
KEY key()
Access: iter.key() accesses element key.
Definition: coHashIter.h:177
unsigned long d_hashIndex
Definition: coHashIter.h:83
coMultiHashBase< KEY, DATA > * d_hash
Definition: coHashIter.h:77
void operator++()
Increment.
Definition: coHashIter.h:128
coHashIter()
Empty HashIter.
Definition: coHashIter.h:92
Definition: coMultiHashBase.h:42