| 124 | } |
| 125 | |
| 126 | void cbm_ht_foreach(const CBMHashTable *ht, cbm_ht_iter_fn fn, void *userdata) { |
| 127 | if (!ht || !fn) |
| 128 | return; |
| 129 | for (cbm_vt_itr itr = cbm_vt_first(&ht->vt); !cbm_vt_is_end(itr); itr = cbm_vt_next(itr)) { |
| 130 | fn(itr.data->key, itr.data->val, userdata); |
| 131 | } |
| 132 | } |
| 133 | |
| 134 | void cbm_ht_clear(CBMHashTable *ht) { |
| 135 | if (!ht) |
no outgoing calls
no test coverage detected