util: Move hash_table_call_foreach to util hash table

It is included through the util/hash_table include in
the program hash_table, so this should be safe.
This will be needed when we start converting each use of
the program_hash_table, as some places need this function.

Signed-off-by: Thomas Helland <thomashelland90@gmail.com>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
This commit is contained in:
Thomas Helland
2016-08-16 22:10:17 +02:00
committed by Timothy Arceri
parent cf4a4820ac
commit ddb8639b18
2 changed files with 13 additions and 14 deletions

View File

@@ -214,20 +214,6 @@ hash_table_pointer_compare(const void *key1, const void *key2)
return _mesa_key_pointer_equal(key1, key2);
}
static inline void
hash_table_call_foreach(struct hash_table *ht,
void (*callback)(const void *key,
void *data,
void *closure),
void *closure)
{
struct hash_entry *entry;
hash_table_foreach(ht, entry)
callback(entry->key, entry->data, closure);
}
struct string_to_uint_map *
string_to_uint_map_ctor();

View File

@@ -139,6 +139,19 @@ _mesa_fnv32_1a_accumulate_block(uint32_t hash, const void *data, size_t size)
entry != NULL; \
entry = _mesa_hash_table_next_entry(ht, entry))
static inline void
hash_table_call_foreach(struct hash_table *ht,
void (*callback)(const void *key,
void *data,
void *closure),
void *closure)
{
struct hash_entry *entry;
hash_table_foreach(ht, entry)
callback(entry->key, entry->data, closure);
}
#ifdef __cplusplus
} /* extern C */
#endif