Lines Matching refs:table

18 - dynamic hash table
31 void lh_TYPE_free(LHASH_OF(TYPE) *table);
32 void lh_TYPE_flush(LHASH_OF(TYPE) *table);
39 TYPE *lh_TYPE_insert(LHASH_OF(TYPE) *table, TYPE *data);
40 TYPE *lh_TYPE_delete(LHASH_OF(TYPE) *table, TYPE *data);
41 TYPE *lh_TYPE_retrieve(LHASH_OF(TYPE) *table, TYPE *data);
43 void lh_TYPE_doall(LHASH_OF(TYPE) *table, OPENSSL_LH_DOALL_FUNC func);
44 void lh_TYPE_doall_arg(LHASH_OF(TYPE) *table, OPENSSL_LH_DOALL_FUNCARG func,
54 int lh_TYPE_error(LHASH_OF(TYPE) *table);
87 table entries can be arbitrary structures. Usually they consist of key
91 To define a new type-checked dynamic hash table, use B<DEFINE_LHASH_OF_EX>().
99 callbacks to be used in organising the table's entries. The I<hash>
100 callback takes a pointer to a table entry as its argument and returns
104 takes two arguments (pointers to two hash table entries), and returns
107 If your hash table
138 Then a hash table of B<I<TYPE>> objects can be created using this:
145 I<table>. Allocated hash table entries will not be freed; consider
147 hash table (see below). If the argument is NULL, nothing is done.
149 B<lh_I<TYPE>_flush>() empties the B<LHASH_OF>(B<I<TYPE>>) structure I<table>. New
150 entries can be added to the flushed table. Allocated hash table entries
152 remaining entries in the hash table (see below).
155 I<table>. If there already is an entry with the same key, the old
159 B<lh_I<TYPE>_delete>() deletes an entry from I<table>.
161 B<lh_I<TYPE>_retrieve>() looks up an entry in I<table>. Normally, I<data>
165 B<lh_I<TYPE>_doall>() will, for every entry in the hash table, call
175 /* Call "TYPE_cleanup" against all items in a hash table. */
178 /* Then the hash table itself can be deallocated */
184 that is passed both the table entry and an extra argument). As with
189 this is demonstrated here (printing all hash table entries to a BIO
204 reason for this is that deleting an item from the hash table may result in the
205 hash table being contracted to a smaller size and rehashed.
208 table size and bucket pointers do not change during the call.
213 disables hash table contraction and guarantees that it will be safe to delete
214 items from a hash table during a call to B<lh_I<TYPE>_doall>() or
223 B<lh_I<TYPE>_num_items>() returns the number of items in the hash table.
226 factor used to determine when the hash table is contracted. The factor is the
227 load factor at or below which hash table contraction will occur, multiplied by
229 number of nodes. Setting this value to 0 disables hash table contraction.
252 When a hash table entry is replaced, B<lh_I<TYPE>_insert>() or
257 NULL is returned if there is no such value in the hash table.
259 B<lh_I<TYPE>_retrieve>() and OPENSSL_LH_retrieve() return the hash table entry
280 The LHASH code regards table entries as constant data. As such, it
284 parameters that pass back the table items' data pointers - for
290 As an example, a hash table may be maintained by code that, for
292 indexed in the hash table (i.e. it is returned as "const" from
296 modifications to table item passed back in the lh_doall() or
303 table, yet declare callbacks without constant types (or cast the