Add bool return to unordered_map get

This commit is contained in:
Bailey Thompson
2017-12-12 20:26:22 -05:00
committed by GitHub
parent d3c9c5cd34
commit b20bc598e9
2 changed files with 6 additions and 3 deletions

View File

@@ -270,8 +270,10 @@ int unordered_map_put(unordered_map me, void *const key, void *const value)
* @param value The value to copy to.
* @param me The unordered map to get from.
* @param key The key to search for.
*
* @return If the unordered map contained the element.
*/
void unordered_map_get(void *const value, unordered_map me, void *const key)
bool unordered_map_get(void *const value, unordered_map me, void *const key)
{
const unsigned long hash = me->hash(key);
const int index = (int) (hash % me->capacity);
@@ -279,10 +281,11 @@ void unordered_map_get(void *const value, unordered_map me, void *const key)
while (traverse != NULL) {
if (unordered_map_is_equal(me, traverse, hash, key)) {
memcpy(value, traverse->value, me->value_size);
return;
return true;
}
traverse = traverse->next;
}
return false;
}
/**

View File

@@ -41,7 +41,7 @@ bool unordered_map_is_empty(unordered_map me);
// Accessing
int unordered_map_put(unordered_map me, void *key, void *value);
void unordered_map_get(void *value, unordered_map me, void *key);
bool unordered_map_get(void *value, unordered_map me, void *key);
bool unordered_map_contains(unordered_map me, void *key);
bool unordered_map_remove(unordered_map me, void *key);