/* size_t hash_map_num_buckets(const hash_map_t *hash_map) { assert(hash_map != NULL); return hash_map->num_bucket; }  */
bool hash_map_has_key(const hash_map_t *hash_map, const void *key)
/* size_t hash_map_num_buckets(const hash_map_t *hash_map) { assert(hash_map != NULL); return hash_map->num_bucket; }  */
bool hash_map_has_key(const hash_map_t *hash_map, const void *key)
{
    assert(hash_map != NULL);
    hash_index_t hash_key = hash_map->hash_fn(key) % hash_map->num_bucket;
    list_t *hash_bucket_list = hash_map->bucket[hash_key].list;
    hash_map_entry_t *hash_map_entry = find_bucket_entry_(hash_bucket_list, key);
    return (hash_map_entry != NULL);
}