Lines Matching refs:field

105 #define HT_SET_HASH_(elm, field, hashfn)        \  argument
106 do { (elm)->field.hte_hash = hashfn(elm); } while (0)
107 #define HT_SET_HASHVAL_(elm, field, val) \ argument
108 do { (elm)->field.hte_hash = (val); } while (0)
109 #define HT_ELT_HASH_(elm, field, hashfn) \ argument
110 ((elm)->field.hte_hash)
112 #define HT_SET_HASH_(elm, field, hashfn) \ argument
114 #define HT_ELT_HASH_(elm, field, hashfn) \ argument
116 #define HT_SET_HASHVAL_(elm, field, val) \ argument
121 #define HT_BUCKET_(head, field, elm, hashfn) \ argument
122 ((head)->hth_table[HT_ELT_HASH_(elm,field,hashfn) % head->hth_table_length])
129 #define HT_PROTOTYPE(name, type, field, hashfn, eqfn) \ argument
149 p = &HT_BUCKET_(head, field, elm, hashfn); \
153 p = &(*p)->field.hte_next; \
164 HT_SET_HASH_(elm, field, hashfn); \
177 HT_SET_HASH_(elm, field, hashfn); \
178 p = &HT_BUCKET_(head, field, elm, hashfn); \
179 elm->field.hte_next = *p; \
191 HT_SET_HASH_(elm, field, hashfn); \
196 elm->field.hte_next = r->field.hte_next; \
197 r->field.hte_next = NULL; \
210 HT_SET_HASH_(elm, field, hashfn); \
215 *p = r->field.hte_next; \
216 r->field.hte_next = NULL; \
236 nextp = &(*p)->field.hte_next; \
269 if ((*elm)->field.hte_next) { \
270 return &(*elm)->field.hte_next; \
272 unsigned b = (HT_ELT_HASH_(*elm, field, hashfn) % head->hth_table_length)+1; \
284 unsigned h = HT_ELT_HASH_(*elm, field, hashfn); \
285 *elm = (*elm)->field.hte_next; \
300 #define HT_GENERATE(name, type, field, hashfn, eqfn, load, mallocfn, \ argument
340 next = elm->field.hte_next; \
341 b2 = HT_ELT_HASH_(elm, field, hashfn) % new_len; \
342 elm->field.hte_next = new_table[b2]; \
359 b2 = HT_ELT_HASH_(e, field, hashfn) % new_len; \
361 pE = &e->field.hte_next; \
363 *pE = e->field.hte_next; \
364 e->field.hte_next = new_table[b2]; \
409 for (elm = head->hth_table[i]; elm; elm = elm->field.hte_next) { \
410 if (HT_ELT_HASH_(elm, field, hashfn) != hashfn(elm)) \
412 if ((HT_ELT_HASH_(elm, field, hashfn) % head->hth_table_length) != i) \
425 #define HT_FIND_OR_INSERT_(name, field, hashfn, head, eltype, elm, var, y, n) \ argument
432 HT_SET_HASH_((elm), field, hashfn); \
440 #define HT_FOI_INSERT_(field, head, elm, newent, var) \ argument
442 HT_SET_HASHVAL_(newent, field, (elm)->field.hte_hash); \
443 newent->field.hte_next = NULL; \