wash
bdcd4163c7
core: stringstream: added read-support
...
any characters written to a stringstream can be optionally read back again
using the b_stream read API.
this functions similar to a ringbuffer, with two key differences:
1) the buffer is not circular, and will continuously expand to accomodate all incoming data.
2) reading data from the stringstream does not remove it from the buffer.
2026-02-03 14:33:06 +00:00
wash
add05ef478
core: iterator: added inline definition of is_valid()
2026-02-03 14:32:15 +00:00
wash
68ab79fe2a
core: hash: add support for hashing the contents of ropes
2026-02-03 14:31:35 +00:00
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