NAME¶
ck_hs_set
—
store key into a hash set
LIBRARY¶
Concurrency Kit (libck, -lck)
SYNOPSIS¶
#include
<ck_hs.h>
bool
ck_hs_set
(
ck_hs_t
*hs,
unsigned
long hash,
const
void *key,
void
**previous);
DESCRIPTION¶
The
ck_hs_set
(
3)
function will store the key specified by the
key argument in the hash set pointed to by
the
hs argument. The key specified by
key is expected to have the hash value
specified by the
hash argument (which was
previously generated using the
CK_HS_HASH(3)
macro).
If the call to
ck_hs_set
(
3)
was successful then the key specified by
key
was successfully stored in the hash set pointed to by
hs. If the key already exists in the hash
set, then it is replaced by
key and the
previous value is stored into the void pointer pointed to by the
previous argument. If previous is set to
NULL
then
key was not a replacement for an existing
entry in the hash set.
RETURN VALUES¶
Upon successful completion,
ck_hs_set
(
3)
returns true and otherwise returns false on failure.
ERRORS¶
Behavior is undefined if
key or
hs are uninitialized. The function will also
return false if the hash set could not be enlarged to accomodate key
insertion.
SEE ALSO¶
ck_hs_init(3),
ck_hs_move(3),
ck_hs_destroy(3),
CK_HS_HASH(3),
ck_hs_iterator_init(3),
ck_hs_next(3),
ck_hs_get(3),
ck_hs_put(3),
ck_hs_put_unique(3),
ck_hs_fas(3),
ck_hs_remove(3),
ck_hs_grow(3),
ck_hs_gc(3),
ck_hs_rebuild(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/