zephyr/include/zephyr/sys
Sayooj K Karun cd7c78e92e lib: min_heap: Add min-heap data structure
Introduce a binary min-heap implementation as a generic data structure
for use in kernel and application code. A min-heap always maintains
the smallest element at the root, making insertion and removal of the
minimum element efficient (O(log n)).

The API allows both static and dynamic initialization, supports custom
comparators.

Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2025-06-07 13:29:24 +01:00
..
internal
__assert.h coding guidelines: comply with MISRA Rule 20.9 2024-05-01 10:52:54 -04:00
atomic.h sys: util: use BITS_PER_BYTE macro instead of the magic number 8 2024-11-16 15:22:35 -05:00
atomic_arch.h sys: atomic: Fix includes, create atomic_types.h 2023-11-22 14:55:43 +00:00
atomic_builtin.h sys: atomic_builtin.h: Add missing include 2024-03-19 10:26:03 -05:00
atomic_c.h build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
atomic_types.h sys: atomic: Fix includes, create atomic_types.h 2023-11-22 14:55:43 +00:00
barrier.h include/zephyr: Add 'version' and 'since' tag to groups 2024-03-19 13:13:45 +01:00
barrier_builtin.h
base64.h
bitarray.h include: sys: added missing parenthesis 2024-06-14 18:50:33 -04:00
byteorder.h sys: byteorder: Add endian-specific buffer convert and copy functions 2025-01-17 13:56:33 +01:00
cbprintf.h include: cbprintf: drop deprecated CBPRINTF_PACKAGE_COPY_* macros 2024-09-04 09:54:32 +02:00
cbprintf_cxx.h everywhere: Use correct macro for gcc-specific warnings 2025-03-20 21:57:47 +01:00
cbprintf_enums.h
cbprintf_internal.h lib: os: cbprintf: add initializer for xtensa padding 2025-04-07 11:22:21 +02:00
check.h
crc.h style: add missing curly braces in if/while/for statements. 2025-05-17 14:10:33 +02:00
device_mmio.h devicetree: make DT_..._REG_ADDR return unsigned 2024-10-02 14:41:32 +01:00
dlist.h sys: dlist: Add const qualifier to immutable API functions 2025-05-01 08:54:04 -04:00
errno_private.h include: kernel: arch: sys: Use new TLS macro 2024-10-05 14:06:26 -04:00
fdtable.h posix: fcntl.h: define constants in terms of zvfs constants 2025-01-05 09:58:54 +01:00
hash_function.h
hash_map.h lib: hash: update the include headers 2024-06-18 14:33:58 -04:00
hash_map_api.h
hash_map_cxx.h
hash_map_oa_lp.h
hash_map_sc.h
heap_listener.h
iterable_sections.h iterable_sections: define iterable_named_alternate variant 2023-11-28 15:35:39 +01:00
kobject.h build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
libc-hooks.h libc: newlib: add config to use custom sbrk 2024-08-07 07:25:46 -04:00
linear_range.h include: fix typo in multiple directories 2024-07-10 11:48:03 -04:00
list_gen.h sys: slist/sflist: Add const qualifier to immutable API functions 2025-05-01 08:54:04 -04:00
math_extras.h
math_extras_impl.h coding guidelines: comply with MISRA Rule 12.1. 2024-05-12 13:37:54 -04:00
mem_blocks.h
mem_manage.h mem_manage: Remove unnecessary header 2023-11-27 19:57:46 +01:00
mem_stats.h
min_heap.h lib: min_heap: Add min-heap data structure 2025-06-07 13:29:24 +01:00
mpsc_lockfree.h everywhere: replace #if IS_ENABLED() as per docs 2024-06-28 07:20:32 -04:00
mpsc_packet.h
mpsc_pbuf.h
multi_heap.h multi_heap: introduce support for realloc() 2024-11-16 14:02:07 -05:00
mutex.h doc: doxygen: move usermode mutex/sem under usermode group 2025-04-18 17:46:50 +02:00
notify.h doc: doxygen: move notify/onoff to os_services 2025-04-18 17:46:50 +02:00
onoff.h doc: doxygen: move notify/onoff to os_services 2025-04-18 17:46:50 +02:00
p4wq.h lib: os: p4wq: add done handler 2025-02-12 16:03:17 +01:00
poweroff.h sys/poweroff: remove extra doxygen group ending command 2024-08-24 07:14:57 -04:00
printk-hooks.h lib: os: change __printk_get_hook return type to printk_hook_fn_t 2024-07-27 10:41:01 +03:00
printk.h
rb.h sys: util: use BITS_PER_BYTE macro instead of the magic number 8 2024-11-16 15:22:35 -05:00
reboot.h
ring_buffer.h sys: ring_buffer: fix possible ring_buf_put_claim/get_claim wrong size 2025-04-26 11:14:44 -04:00
sem.h doc: doxygen: move usermode mutex/sem under usermode group 2025-04-18 17:46:50 +02:00
sflist.h sys: slist/sflist: remove stray FIXME 2025-06-05 09:34:55 +02:00
slist.h sys: slist/sflist: remove stray FIXME 2025-06-05 09:34:55 +02:00
speculation.h
spsc_lockfree.h sys: Remove static modifier 2025-06-06 08:43:03 +02:00
spsc_pbuf.h lib: os: spsc_pbuf: Clarify using cache management in the module 2024-07-01 16:07:30 -04:00
sys_heap.h kernel: sys_heap: decouple realloc from aligned_realloc 2025-04-01 22:13:04 +02:00
sys_io.h
time_units.h include: zephyr: sys: time_units: Make z_clock_hw_cycles_per_sec unsigned 2025-03-28 12:21:07 +01:00
timeutil.h sys: timeutil: add missing copyright for recent changes 2025-05-27 06:51:38 +02:00
util.h include: util: Add util_eq and util_memeq 2025-04-14 16:06:38 +02:00
util_internal.h sys: util: Extend IS_EQ to support unsigned literals 2024-12-13 20:04:33 +01:00
util_internal_is_eq.h sys: util: Extend IS_EQ to support unsigned literals 2024-12-13 20:04:33 +01:00
util_internal_util_dec.h
util_internal_util_inc.h
util_internal_util_x2.h
util_listify.h
util_loops.h sys: util: Accept empty FOR_EACH 2024-01-29 11:32:54 +01:00
util_macro.h include: zephyr: sys: Introduce IS_BIT_SET() macro 2025-01-10 14:48:13 +01:00
uuid.h include: zephyr: sys: Fix uuid.h usage in C++ code 2025-05-06 02:36:15 +02:00
winstream.h include: fix typo in multiple directories 2024-07-10 11:48:03 -04:00