CK_RHS_REMOVE(3)
π CK_RHS_REMOVE β remove key from a hash set
okay bestie, welcome to the CK_RHS_REMOVE(3) page, part of the Concurrency Kit manuals. this one's about β¨yeeting a key out of a hash setβ¨. let's get into it π«Ά
πΈ LIBRARY
Concurrency Kit β that's libck, and you link it with -lck. iconic behavior, no notes π
β¨ SYNOPSIS β¨
#include <ck_rhs.h>
void *
ck_rhs_remove(ck_rhs_t *hs, unsigned long hash, const void *key);
π¦ DESCRIPTION
so, the ck_rhs_remove(3) function is gonna try to remove the key you pass in as the key argument, out of the hash set that hs points to. the way that key has to already come with a hash value β the one you give it in the hash argument β and that hash was supposed to be generated earlier using the CK_RHS_HASH(3) macro. so like, pre-computed, bestie, don't just make one up π
if the ck_rhs_remove(3) call popped off successfully, then the key that was chillin' in the hash set gets returned to you. but if that key wasn't a member of the hash set in the first place? you get NULL. that's it, that's the vibe π
π RETURN VALUES
when it succeeds, ck_rhs_remove(3) hands you back a pointer to a key. otherwise, on failure, it returns NULL. simple as πΈ
π ERRORS
behavior is undefined ifkeyorhsare uninitialized. like, unhinged territory. don't do it. π«
π SEE ALSO
ck_rhs_init(3), ck_rhs_move(3), ck_rhs_destroy(3), CK_RHS_HASH(3), ck_rhs_iterator_init(3), ck_rhs_next(3), ck_rhs_get(3), ck_rhs_put(3), ck_rhs_put_unique(3), ck_rhs_set(3), ck_rhs_fas(3), ck_rhs_grow(3), ck_rhs_gc(3), ck_rhs_rebuild(3), ck_rhs_count(3), ck_rhs_reset(3), ck_rhs_reset_size(3), ck_rhs_stat(3)
and if you want even more, there's extra info waiting for you at http://concurrencykit.org/ π
that's the whole page, bestie β slay π β¨
this one's from Concurrency Kit, and it's dated September 17, 2012 π mwah, ily, go remove some keys responsibly π«Άπ
π¦ where this page comes from
- alpine 3.24: ck-doc 0.7.2-r1 Β· BSD-2-Clause AND Apache-2.0
- debian bookworm: libck-dev 0.7.1-10 Β· BSD-2-Clause
- debian trixie: libck-dev 0.7.2-6 Β· BSD-2-Clause
- epel 10: ck-devel 0.7.2-1.el10_1 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- epel 9: ck-devel 0.7.0-10.el9 Β· BSD
- fedora 43: ck-devel 0.7.2-2.fc43 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- fedora 43: ck-devel 0.7.2-2.fc43 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- fedora 44: ck-devel 0.7.2-4.fc44 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- fedora 44: ck-devel 0.7.2-4.fc44 Β· BSD-2-clause AND Apache-2.0 AND BSD-3-clause
- nixos 26.05: ck 0.7.2
- nixpkgs unstable: ck 0.7.2
- opensuse-leap 16.0: ck-devel 0.7.2-bp160.1.9 Β· Apache-2.0 AND BSD-2-Clause
- opensuse-leap 16.0: ck-devel 0.7.2-bp160.1.9 Β· Apache-2.0 AND BSD-2-Clause
- opensuse-leap 16.0: ck-devel 0.7.2-bp160.1.9 Β· Apache-2.0 AND BSD-2-Clause
- ubuntu jammy: libck-dev 0.7.1-6ubuntu2 Β· BSD-2-Clause
- ubuntu noble: libck-dev 0.7.1-13build1 Β· BSD-2-Clause
- ubuntu questing: libck-dev 0.7.2-5ubuntu1
- ubuntu resolute: libck-dev 0.7.2-5ubuntu2 Β· BSD-2-Clause
- ubuntu stonking: libck-dev 0.7.2-11 Β· BSD-2-Clause
- Copyright 2012-2013 Samy Al Bahra
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms