CK_RHS_MOVE(3) | Library Functions Manual | CK_RHS_MOVE(3) |
ck_rhs_move
— move
one from hash set to another
Concurrency Kit (libck, -lck)
#include
<ck_rhs.h>
bool
ck_rhs_move
(ck_rhs_t
*destination, ck_rhs_t
*source, ck_rhs_hash_cb_t
*hash_cb,
ck_rhs_compare_cb_t
*compare_cb, struct
ck_malloc *m);
The
ck_rhs_move
(3)
function will initialize source from
destination. The hash function is set to
hash_cb, comparison function to
compare_cb and the allocator callbacks to
m. Further modifications to
source will result in undefined behavior. Concurrent
ck_rhs_get(3) and ck_rhs_fas(3)
operations to source are legal until the next write
operation to destination.
This operation moves ownership from one hash set object to another and re-assigns callback functions to developer-specified values. This allows for dynamic configuration of allocation callbacks and is necessary for use-cases involving executable code which may be unmapped underneath the hash set.
Upon successful completion
ck_rhs_move
(3) returns true
and otherwise returns false to indicate an error.
ck_rhs_init(3), ck_rhs_destroy(3), CK_RHS_HASH(3), ck_rhs_iterator_init(3), ck_rhs_next(3), ck_rhs_put(3), ck_rhs_put_unique(3), ck_rhs_set(3), ck_rhs_fas(3), ck_rhs_remove(3), ck_rhs_grow(3), ck_rhs_rebuild(3), ck_rhs_gc(3), ck_rhs_count(3), ck_rhs_reset(3), ck_rhs_reset_size(3), ck_rhs_stat(3)
Additional information available at http://concurrencykit.org/
July 18, 2013 |