Commit Graph

325 Commits

Author SHA1 Message Date
wash b8cf2b379b meta: rename term module to fx.term namespace 2026-05-02 14:37:43 +01:00
wash 274a48a845 meta: rename io module to fx.io namespace 2026-05-02 14:37:29 +01:00
wash 47feee7b1a meta: rename cmd module to fx.cmdline namespace 2026-05-02 14:37:15 +01:00
wash 7db5fefe25 meta: rename core module to fx namespace 2026-05-02 14:36:59 +01:00
wash b072632499 test: update tests 2026-05-02 14:31:17 +01:00
wash 15a9147e15 term: update string api usage 2026-05-02 14:31:00 +01:00
wash d24592dde4 core: encoding: fix incorrect function call in fx_wchar_is_number 2026-05-02 14:30:48 +01:00
wash ce56eacafe cmd: update string api usage 2026-05-02 14:30:27 +01:00
wash dbf50395d0 ds: add verbs to string function names 2026-05-02 14:29:58 +01:00
wash 4aaa165e5f term: add POSIX defines for linux support 2026-05-02 14:29:32 +01:00
wash 4fcbcfdfb2 io: add linux support 2026-05-02 14:28:52 +01:00
wash cb39baa233 test: update write_string function references 2026-04-20 22:05:42 +01:00
wash 5646c8c2b8 term: update write_string function references 2026-04-20 22:05:25 +01:00
wash 3529e8525a io: update write_string function references 2026-04-20 22:05:04 +01:00
wash 6a26e00438 serial: implement returning fx_result values from (de)serialisers 2026-04-20 22:04:29 +01:00
wash c76008e498 ds: formatting tweaks 2026-04-20 22:03:20 +01:00
wash 321622ac16 ds: string: add verbs to function names 2026-04-20 22:03:11 +01:00
wash c39f50a0ee core: stream: formatting tweaks 2026-04-20 21:41:47 +01:00
wash 5ab348fd30 core: rename write_string functions to write_cstr 2026-04-20 21:41:38 +01:00
wash 709d11331c meta: update clang-format config 2026-04-19 20:57:56 +01:00
wash 912c450e6e core: add rosetta support 2026-04-01 19:04:41 +01:00
wash fc43d104dc core: dict: fix fx_cstr_hash using different constants than other string hashing functions 2026-04-01 19:04:30 +01:00
wash 8eba5c7462 core: hash: add missing include 2026-04-01 19:03:52 +01:00
wash 5212ef4bc8 core: stringstream: fix internal buffer not always being null-terminated 2026-04-01 19:03:27 +01:00
wash fc4a422a79 core: encoding: fix fx_wchar_is_hex_digit calling wrong function 2026-04-01 19:02:54 +01:00
wash ef3f64f095 meta: update clang-format config 2026-04-01 19:02:19 +01:00
wash 467c13e161 build: add some build options to customise library functionality 2026-04-01 19:02:04 +01:00
wash 6b04920d29 cmd: update references to fx_btree 2026-03-16 15:11:45 +00:00
wash e4bacb7360 ds: update references to fx_btree 2026-03-16 15:11:29 +00:00
wash 9c34aa7996 core: rename btree to bst 2026-03-16 15:11:17 +00:00
wash e9d0e323f0 meta: rename to fx 2026-03-16 10:35:43 +00:00
wash 84df46489a meta: update clang-format config 2026-02-03 14:47:36 +00:00
wash 0d5a186d80 test: core: add bstr tests; update rope tests 2026-02-03 14:47:25 +00:00
wash 2632feac32 cmd: add support for dynamically generating command options at runtime 2026-02-03 14:46:40 +00:00
wash f5c4fa561f ds: uuid: convert uuid bytes struct to union 2026-02-03 14:45:30 +00:00
wash 5639aefd61 ds: string: set iterator value to B_WCHAR_INVALID when end of string is reached 2026-02-03 14:44:36 +00:00
wash 30a9db17dc ds: list: update iterator interface 2026-02-03 14:43:35 +00:00
wash ce50cfd18b ds: hashmap: update iterator interface 2026-02-03 14:43:17 +00:00
wash 9b48fc2b45 ds: convert (stub) bitbuffer implementation to (stub) b_object sub-class 2026-02-03 14:42:05 +00:00
wash 5889426478 core: rope: add bstr support 2026-02-03 14:39:33 +00:00
wash c13b7a7e3a core: stream: add bstr support
despite not being a b_object, the b_stream interface can now detect when
a b_bstr instance has been passed as a stream parameter and use the correct
functions to handle writing to it.

this allows any function that expects a b_stream parameter to be called
with a b_bstr instance instead, allowing complex stream-based I/O operations
to be directed towards bounded character arrays with no heap allocation
required.
2026-02-03 14:36:48 +00:00
wash 23aba2a27f core: add bstr data structure
bstr is very similar to b_stringstream, with the key difference being it can be
stack-allocated. this allows you to write a complex formatted string to a
stack-allocated character buffer with no heap memory allocation required.
bstr also supports automatically-managed dynamic string buffers for unbounded
string construction.
2026-02-03 14:34:58 +00:00
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