1CK_RHS_SET(3) BSD Library Functions Manual CK_RHS_SET(3)
2
4 ck_rhs_set — store key into a hash set
5
7 Concurrency Kit (libck, -lck)
8
10 #include <ck_rhs.h>
11
12 bool
13 ck_rhs_set(ck_rhs_t *hs, unsigned long hash, const void *key,
14 void **previous);
15
17 The ck_rhs_set(3) function will store the key specified by the key argu‐
18 ment in the hash set pointed to by the hs argument. The key specified by
19 key is expected to have the hash value specified by the hash argument
20 (which was previously generated using the CK_RHS_HASH(3) macro).
21
22 If the call to ck_rhs_set(3) was successful then the key specified by key
23 was successfully stored in the hash set pointed to by hs. If the key
24 already exists in the hash set, then it is replaced by key and the previ‐
25 ous value is stored into the void pointer pointed to by the previous
26 argument. If previous is set to NULL then key was not a replacement for
27 an existing entry in the hash set.
28
30 Upon successful completion, ck_rhs_set(3) returns true and otherwise
31 returns false on failure.
32
34 Behavior is undefined if key or hs are uninitialized. The function will
35 also return false if the hash set could not be enlarged to accomodate key
36 insertion.
37
39 ck_rhs_init(3), ck_rhs_move(3), ck_rhs_destroy(3), CK_RHS_HASH(3),
40 ck_rhs_iterator_init(3), ck_rhs_next(3), ck_rhs_get(3), ck_rhs_put(3),
41 ck_rhs_put_unique(3), ck_rhs_fas(3), ck_rhs_remove(3), ck_rhs_grow(3),
42 ck_rhs_gc(3), ck_rhs_rebuild(3), ck_rhs_count(3), ck_rhs_reset(3),
43 ck_rhs_reset_size(3), ck_rhs_stat(3)
44
45 Additional information available at http://concurrencykit.org/
46
47 September 17, 2012