mirror of https://github.com/mgba-emu/mgba.git
Util: Enumerating a Table should list the key, too
This commit is contained in:
parent
2b6462c3a8
commit
1b6389164c
|
@ -144,13 +144,13 @@ void TableClear(struct Table* table) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TableEnumerate(const struct Table* table, void (handler(void* value, void* user)), void* user) {
|
void TableEnumerate(const struct Table* table, void (handler(uint32_t key, void* value, void* user)), void* user) {
|
||||||
size_t i;
|
size_t i;
|
||||||
for (i = 0; i < table->tableSize; ++i) {
|
for (i = 0; i < table->tableSize; ++i) {
|
||||||
const struct TableList* list = &table->table[i];
|
const struct TableList* list = &table->table[i];
|
||||||
size_t j;
|
size_t j;
|
||||||
for (j = 0; j < list->nEntries; ++j) {
|
for (j = 0; j < list->nEntries; ++j) {
|
||||||
handler(list->list[j].value, user);
|
handler(list->list[j].key, list->list[j].value, user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ void TableInsert(struct Table*, uint32_t key, void* value);
|
||||||
void TableRemove(struct Table*, uint32_t key);
|
void TableRemove(struct Table*, uint32_t key);
|
||||||
void TableClear(struct Table*);
|
void TableClear(struct Table*);
|
||||||
|
|
||||||
void TableEnumerate(const struct Table*, void (handler(void* value, void* user)), void* user);
|
void TableEnumerate(const struct Table*, void (handler(uint32_t key, void* value, void* user)), void* user);
|
||||||
|
|
||||||
static inline void HashTableInit(struct Table* table, size_t initialSize, void (deinitializer(void*))) {
|
static inline void HashTableInit(struct Table* table, size_t initialSize, void (deinitializer(void*))) {
|
||||||
TableInit(table, initialSize, deinitializer);
|
TableInit(table, initialSize, deinitializer);
|
||||||
|
|
Loading…
Reference in New Issue