Manual Pages


CK_HS_MOVE(3)            BSD Library Functions Manual            CK_HS_MOVE(3)

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/

                                 July 18, 2013