NAME¶
ck_hs_move
—
move one from hash set to another
LIBRARY¶
Concurrency Kit (libck, -lck)
SYNOPSIS¶
#include
<ck_hs.h>
bool
ck_hs_move
(
ck_hs_t
*destination,
ck_hs_t *source,
ck_hs_hash_cb_t
*hash_cb,
ck_hs_compare_cb_t
*compare_cb,
struct ck_malloc
*m);
DESCRIPTION¶
The
ck_hs_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_hs_get(3) and
ck_hs_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.
RETURN VALUES¶
Upon successful completion
ck_hs_move
(
3)
returns true and otherwise returns false to indicate an error.
SEE ALSO¶
ck_hs_init(3),
ck_hs_destroy(3),
CK_HS_HASH(3),
ck_hs_iterator_init(3),
ck_hs_next(3),
ck_hs_put(3),
ck_hs_put_unique(3),
ck_hs_set(3),
ck_hs_fas(3),
ck_hs_remove(3),
ck_hs_grow(3),
ck_hs_rebuild(3),
ck_hs_gc(3),
ck_hs_count(3),
ck_hs_reset(3),
ck_hs_reset_size(3),
ck_hs_stat(3)
Additional information available at
http://concurrencykit.org/