diff options
author | Michal Schmidt <mschmidt@redhat.com> | 2014-08-13 01:00:18 +0200 |
---|---|---|
committer | Michal Schmidt <mschmidt@redhat.com> | 2014-09-15 16:08:50 +0200 |
commit | d5099efc47d4e6ac60816b5381a5f607ab03f06e (patch) | |
tree | 661308aae8a0885e90da25874e7df3e795532356 /src/shared/set.h | |
parent | f44541bc934c6e2b02155559e9eeb17a13a09558 (diff) |
hashmap: introduce hash_ops to make struct Hashmap smaller
It is redundant to store 'hash' and 'compare' function pointers in
struct Hashmap separately. The functions always comprise a pair.
Store a single pointer to struct hash_ops instead.
systemd keeps hundreds of hashmaps, so this saves a little bit of
memory.
Diffstat (limited to 'src/shared/set.h')
-rw-r--r-- | src/shared/set.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/shared/set.h b/src/shared/set.h index e0b9c9e0a8..e650b7e3fe 100644 --- a/src/shared/set.h +++ b/src/shared/set.h @@ -32,12 +32,12 @@ typedef struct Set Set; -Set *set_new(hash_func_t hash_func, compare_func_t compare_func); +Set *set_new(const struct hash_ops *hash_ops); void set_free(Set* s); void set_free_free(Set *s); Set* set_copy(Set *s); -int set_ensure_allocated(Set **s, hash_func_t hash_func, compare_func_t compare_func); +int set_ensure_allocated(Set **s, const struct hash_ops *hash_ops); int set_put(Set *s, void *value); int set_consume(Set *s, void *value); |