CK_HT_NEXT(3)
π CK_HT_NEXT(3) π
okay so bestie, this is the page for ck_ht_next β the one from the CK_HT_NEXT(3) manual β and it's literally the "gimme the next one" function. no cap, it's giving little engine that could, but for hash tables. πβ¨
πΈ NAME πΈ
ck_ht_next β iterate to next entry in hash table
π LIBRARY π
Concurrency Kit (libck, -lck)
like. link against it. that's the vibe. π
β¨ SYNOPSIS β¨
#include <ck_ht.h>
bool
ck_ht_next(ck_ht_t *ht, ck_ht_iterator_t *iterator,
ck_ht_entry_t **entry);
π¦ DESCRIPTION π¦
okay so here's the tea β β ck_ht_next() bumps the iterator object that iterator points at forward, so it lands on the next non-empty hash table entry. skipping the empty ones, iconic behaviour, we love a function that doesn't waste our time. π
and if ck_ht_next() returns true?? then the pointer that entry points to gets initialized to the current hash table entry that the iterator object is pointing at. slay. π«Ά
π¨ bestie listen β it is expected thatiteratorhas already been initialized with theck_ht_iterator_init(3)function, or statically initialized usingCK_HT_ITERATOR_INITIALIZER. do not just roll up with a random uninitialized iterator, that's not the move. π
π« RETURN VALUES π«
- if
ck_ht_next()returnstrueβ the object pointed to byentrypoints to a valid hash table entry. go off. π₯ - if
ck_ht_next()returnsfalseβ the value of the object pointed to byentryis undefined. π so like, don't look at it. avert your eyes. it's giving void.
π ERRORS π
Behavior is undefined if iterator or ht are uninitialized. fr fr. undefined behaviour is not a cute look, it's the main character dying in episode 3. πͺ¦
π SEE ALSO π
the whole squad, all of them, no one left behind π«Ά:
ck_ht_stat(3)ck_ht_init(3)ck_ht_destroy(3)ck_ht_hash(3)ck_ht_hash_direct(3)ck_ht_set_spmc(3)ck_ht_put_spmc(3)ck_ht_gc(3)ck_ht_get_spmc(3)ck_ht_grow_spmc(3)ck_ht_remove_spmc(3)ck_ht_count(3)ck_ht_reset_spmc(3)ck_ht_reset_size_spmc(3)ck_ht_entry_empty(3)ck_ht_entry_key_set(3)ck_ht_entry_key_set_direct(3)ck_ht_entry_key_length(3)ck_ht_entry_key(3)ck_ht_entry_set(3)ck_ht_entry_set_direct(3)ck_ht_entry_key_direct(3)ck_ht_entry_value(3)ck_ht_entry_value_direct(3)ck_ht_iterator_init(3)
Additional information available at http://concurrencykit.org/ π
and that's the whole page bestie, we ate and left no crumbs πβ¨
this one's from the Concurrency Kit source, dated March 30, 2012 β yeah she's vintage, she's a classic, she's been slaying since 2012 and she's still here. periodt. ππ
π¦ 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