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 |