Commit Graph

280 Commits

Author SHA1 Message Date
wash ce9195c130 core: queue: implement moving queue entries
this works exactly the same as moving btree nodes.
2026-02-03 14:30:53 +00:00
wash 837a42e249 core: btree: implement moving btree nodes
moving a btree node is similar to simply using memmove() or memcpy(), with the added
bonus of updating the pointers in the wider data structure to the new node memory
and zeroing the old node memory so that it isn't used accidentally after the move
is complete.
2026-02-03 14:28:58 +00:00
wash d14a1fc61f io: directory: update error api usage 2025-11-04 10:03:21 +00:00
wash 6b65727535 core: error: rename b_error_release to b_error_discard 2025-11-04 10:03:10 +00:00
wash 5c6030488b test: fix some memory leaks 2025-11-03 21:29:59 +00:00
wash bd2fe50ec9 test: move all module tests to the test/ directory 2025-11-01 10:12:18 +00:00
wash a68b9f7ba7 test: update tests 2025-11-01 10:04:41 +00:00
wash 9e21e0c4b2 serial: toml: update iterator usage 2025-11-01 10:04:28 +00:00
wash 5d3a987b0e io: directory: implement new b_iterator interface 2025-11-01 10:03:59 +00:00
wash ec500c04ad cmd: remove internal usage of legacy iterator interface 2025-11-01 10:02:42 +00:00
wash c94f976751 ds: string: implement b_iterable interface 2025-11-01 10:01:59 +00:00
wash 3db808d4c4 ds: array: fix iterable_begin not setting iterator status 2025-11-01 10:01:17 +00:00
wash 734c80c527 ds: dict: fix iterable_begin not setting iterator status 2025-11-01 10:00:57 +00:00
wash 493b9ec4a4 core: iterator: implement const iterators 2025-11-01 09:58:18 +00:00
wash 0cbab62391 core: type: fix interface type components not being initialised properly 2025-11-01 09:57:32 +00:00
wash abf1d45602 core: class: validate magic number in class header 2025-11-01 09:56:52 +00:00
wash 360428c8e8 core: object: validate magic number in object header 2025-11-01 09:56:22 +00:00
wash 053dd26304 ds: dict: re-implement dict_fini and dict_to_string 2025-10-29 15:01:03 +00:00
wash 2d5da8605d ds: tree: update iterator interface 2025-10-29 14:35:46 +00:00
wash b292168c70 ds: string: update iterator interface 2025-10-29 14:35:36 +00:00
wash 0f89901239 ds: list: update iterator interface 2025-10-29 14:35:18 +00:00
wash bae95909ca ds: dict: update iterator interface 2025-10-29 14:35:07 +00:00
wash 824d436a1c ds: hashmap: update iterator interface 2025-10-29 14:34:57 +00:00
wash d8abd54b89 ds: array: update iterator interface 2025-10-29 14:34:38 +00:00
wash 144c3a4c68 core: error: clean up includes and formatting 2025-10-29 14:32:19 +00:00
wash 2ee2f8c115 core: object: remove legacy iterator interface usage 2025-10-29 14:31:09 +00:00
wash 1e4b5bc4e6 core: btree: replace legacy iterator interface 2025-10-29 14:30:33 +00:00
wash c2b894ef22 core: queue: replace legacy iterator interface 2025-10-29 14:29:05 +00:00
wash 009b6c6292 core: iterator: re-design b_iterator as a b_object interface 2025-10-29 13:52:27 +00:00
wash 71069a6ebb meta: update clang-format config 2025-10-28 15:21:38 +00:00
wash 6639a84a78 test: update tests 2025-10-28 15:21:19 +00:00
wash 2d29713f57 serial: convert b_serial_ctx to a b_object interface 2025-10-28 15:20:57 +00:00
wash e63095c458 io: file: update b_stream interface 2025-10-28 15:20:37 +00:00
wash 7ba396933a compress: cstream: convert to a b_object type 2025-10-28 15:20:08 +00:00
wash f3dd0ddd48 compress: compressor: convert b_compressor to a b_object interface 2025-10-28 15:19:30 +00:00
wash b58015baff core: type: check if a class tries to implement an interface it doesn't extend or inherit 2025-10-28 15:17:50 +00:00
wash e8eee9ca0d core: type: make get_type static 2025-10-28 15:16:07 +00:00
wash 5b090c72c7 core: stream: change read/write buffer type from unsigned char* to void* 2025-10-28 15:14:57 +00:00
wash 2687477cb2 core: ringbuffer: update from simple struct to a b_object type 2025-10-28 15:14:09 +00:00
wash 5f2bbc7151 core: class: add functions to get a registered class, and get the name of a class 2025-10-28 15:11:54 +00:00
wash cd54a4f755 test: move leftover object tests to ds-test 2025-10-26 09:38:45 +00:00
wash 75e9291da3 core: error: update header include guard 2025-10-25 19:36:25 +01:00
wash d459903efc ds: array: update to_string() to surround string values in quotes 2025-10-25 19:22:44 +01:00
wash 263934dbba ds: bitmap: convert from a static array to a b_object 2025-10-25 19:20:56 +01:00
wash 46b2bec67a test: add a test that reads one utf8 codepoint from a file 2025-10-25 00:06:45 +01:00
wash 02b6e3e3ad serial: toml: use b_string_replace_all_with_stringstream in refill_linebuf 2025-10-25 00:06:11 +01:00
wash a1b177a5a1 ds: string: add function to copy string data from a b_stringstream
unlike b_stringstream_ptr(), this function supports copying strings
that contain null bytes.
2025-10-25 00:04:38 +01:00
wash 7afc398f68 ds: string: replace utf-8 functions with b_wchar_utf8 interface 2025-10-25 00:04:26 +01:00
wash a429e76721 core: stream: add utf-8 awareness to b_stream interface
b_stream can now read/write utf-8 encoded data, and will do so unless
the stream is in binary mode.

b_stream will also report an error it encounters invalid utf-8 data
(unless binary mode is enabled).
2025-10-25 00:02:33 +01:00
wash f6f49faf97 core: encoding: add utf-8 functions from b_string to b_wchar interface 2025-10-25 00:02:15 +01:00