1CK_RHS_MOVE(3) BSD Library Functions Manual CK_RHS_MOVE(3)
2
4 ck_rhs_move — move one from hash set to another
5
7 Concurrency Kit (libck, -lck)
8
10 #include <ck_rhs.h>
11
12 bool
13 ck_rhs_move(ck_rhs_t *destination, ck_rhs_t *source,
14 ck_rhs_hash_cb_t *hash_cb, ck_rhs_compare_cb_t *compare_cb,
15 struct ck_malloc *m);
16
18 The ck_rhs_move(3) function will initialize source from destination. The
19 hash function is set to hash_cb, comparison function to compare_cb and
20 the allocator callbacks to m. Further modifications to source will
21 result in undefined behavior. Concurrent ck_rhs_get(3) and ck_rhs_fas(3)
22 operations to source are legal until the next write operation to
23 destination.
24
25 This operation moves ownership from one hash set object to another and
26 re-assigns callback functions to developer-specified values. This allows
27 for dynamic configuration of allocation callbacks and is necessary for
28 use-cases involving executable code which may be unmapped underneath the
29 hash set.
30
32 Upon successful completion ck_rhs_move(3) returns true and otherwise
33 returns false to indicate an error.
34
36 ck_rhs_init(3), ck_rhs_destroy(3), CK_RHS_HASH(3),
37 ck_rhs_iterator_init(3), ck_rhs_next(3), ck_rhs_put(3),
38 ck_rhs_put_unique(3), ck_rhs_set(3), ck_rhs_fas(3), ck_rhs_remove(3),
39 ck_rhs_grow(3), ck_rhs_rebuild(3), ck_rhs_gc(3), ck_rhs_count(3),
40 ck_rhs_reset(3), ck_rhs_reset_size(3), ck_rhs_stat(3)
41
42 Additional information available at http://concurrencykit.org/
43
44 July 18, 2013