ck_hs_move(3) move one from hash set to another

LIBRARY

Concurrency Kit (libck, -lck)

SYNOPSIS

In ck_hs.h Ft bool Fn 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 Fn ck_hs_move 3 function will initialize Fa source from Fa destination . The hash function is set to Fa hash_cb , comparison function to Fa compare_cb and the allocator callbacks to Fa m . Further modifications to Fa source will result in undefined behavior. Concurrent ck_hs_get3 and ck_hs_fas3 operations to Fa source are legal until the next write operation to Fa 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 Fn ck_hs_move 3 returns true and otherwise returns false to indicate an error.