ucx/map.h

changeset 78
af355652f271
parent 71
303dabadff1c
child 79
cf3757c60c8f
equal deleted inserted replaced
77:51311a5685d3 78:af355652f271
66 int ucx_map_put(UcxMap *map, UcxKey key, void *data); 66 int ucx_map_put(UcxMap *map, UcxKey key, void *data);
67 void* ucx_map_get(UcxMap *map, UcxKey key); 67 void* ucx_map_get(UcxMap *map, UcxKey key);
68 void* ucx_map_remove(UcxMap *map, UcxKey key); 68 void* ucx_map_remove(UcxMap *map, UcxKey key);
69 69
70 #define ucx_map_sstr_put(m, s, d) \ 70 #define ucx_map_sstr_put(m, s, d) \
71 ucx_map_put(m, ucx_key((void*)s.ptr, s.length), d) 71 ucx_map_put(m, ucx_key(s.ptr, s.length), d)
72 #define ucx_map_cstr_put(m, s, d) \ 72 #define ucx_map_cstr_put(m, s, d) \
73 ucx_map_put(m, ucx_key((void*)s, 1+strlen(s)), d) 73 ucx_map_put(m, ucx_key((void*)s, strlen(s)), d)
74 #define ucx_map_int_put(m, i, d) \
75 ucx_map_put(m, ucx_key((void*)&i, sizeof(d)), d)
76
74 #define ucx_map_sstr_get(m, s) \ 77 #define ucx_map_sstr_get(m, s) \
75 ucx_map_get(m, ucx_key((void*)s.ptr, s.length)) 78 ucx_map_get(m, ucx_key(s.ptr, s.length))
76 #define ucx_map_cstr_get(m, s) \ 79 #define ucx_map_cstr_get(m, s) \
77 ucx_map_get(m, ucx_key((void*)s, 1+strlen(s))) 80 ucx_map_get(m, ucx_key((void*)s, strlen(s)))
81 #define ucx_map_int_get(m, i) \
82 ucx_map_get(m, ucx_key((void*)&i, sizeof(int)))
83
78 #define ucx_map_sstr_remove(m, s) \ 84 #define ucx_map_sstr_remove(m, s) \
79 ucx_map_remove(m, ucx_key((void*)s.ptr, s.length)) 85 ucx_map_remove(m, ucx_key(s.ptr, s.length))
80 #define ucx_map_cstr_remove(m, s) \ 86 #define ucx_map_cstr_remove(m, s) \
81 ucx_map_remove(m, ucx_key((void*)s, 1+strlen(s))) 87 ucx_map_remove(m, ucx_key((void*)s, strlen(s)))
88 #define ucx_map_int_remove(m, i) \
89 ucx_map_remove(m, ucx_key((void*)&i, sizeof(int)))
82 90
83 UcxKey ucx_key(void *data, size_t len); 91 UcxKey ucx_key(void *data, size_t len);
84 92
85 int ucx_hash(const char *data, size_t len); 93 int ucx_hash(const char *data, size_t len);
86 94

mercurial