Commit Graph

61 Commits

Author SHA1 Message Date
8840971d83 core: object: add more virtual function dispatch macros 2025-10-24 12:31:51 +01:00
ed105307c7 core: type: fix registration of types that extend something other than b_object 2025-10-24 12:29:24 +01:00
36b624849c core: object: add functions to retrieve multiple parts of an object at once 2025-10-24 12:28:50 +01:00
ab1c2b370d core: object: implement rvalue object support 2025-10-19 20:58:32 +01:00
2cc1a541c2 core: object: implement b_object_is_type() 2025-10-19 13:46:44 +01:00
ff2ff6f136 core: stream: update generic pointer usage for stdio streams 2025-10-19 11:26:04 +01:00
d5bd8fa32a core: stream: add a second generic pointer to b_stream 2025-10-19 10:22:35 +01:00
c389e32dc6 core: add B_NPOS definition 2025-10-19 10:22:11 +01:00
379bd048b2 core: object: make interface query functions const; remove type parameters 2025-10-19 10:21:43 +01:00
e1e4544b67 core: macros: fix bad return type on unref() function template 2025-10-18 21:54:34 +01:00
4044961478 core: rename b_retain/b_release to b_object_ref/b_object_unref 2025-10-18 21:51:51 +01:00
503dc56328 core: add macros for performing non-virtual class method dispatch 2025-10-18 21:41:40 +01:00
a0b7b5b85b core: remove type parameter from object interface query functions 2025-10-18 21:06:20 +01:00
06add543bf Merge branch 'main' into feature/new-object-system 2025-10-15 11:13:00 +01:00
9d2ebfce2e core: move new object system to core module
this will allow a wider range of data structures (e.g. b_error, b_stream, b_stringstream) to make use
of the new object system, and other modules and library users can use the object system without
depending on the blue-object or blue-ds modules.

blue-ds will become a simple library of data structures (string, hashmap, etc), built on top of the
core object system.
2025-10-15 10:38:18 +01:00
cbaeb002f8 core: stream: b_stream_read_line_s now includes linefeed in output and correctly reports EOF condition 2025-09-22 10:32:37 +01:00
bc5986150c core: stream: fix buffer overflow in stream indentation stack 2025-09-22 10:31:53 +01:00
4ab524a66b core: hash: rename b_hash_string to avoid conflict with b_string 2025-09-22 10:31:30 +01:00
d52992c8ba core: printf: switch to an enhanced version of embedded printf 2025-09-22 10:30:40 +01:00
072903f896 core: error: fix b_error_caused_by_code calling an undefined function 2025-09-22 10:29:48 +01:00
0a2a1c695a core: error: add function to test if an error has a particular vendor/code 2025-09-22 10:29:01 +01:00
db3d1e3183 core: add a type to store unicode characters, as well as functions to query them 2025-09-22 10:28:03 +01:00
3f2558cac3 core: add B_BTREE_INIT macro 2025-08-16 16:00:33 +01:00
2c15d5cd45 core: add new object related status codes 2025-08-16 16:00:04 +01:00
a5e3e06306 core: add basic mutex and per-thread data support 2025-08-09 19:49:06 +01:00
ee2611c678 core: error: fix double free of errors released with b_error_release 2025-08-09 19:48:40 +01:00
ed8e51ed5e core: bitop: add atomic compare-exchange 2025-08-09 19:48:01 +01:00
67392d12e6 core: stream: replaced cached cursor counter with a tell() function callback 2025-07-31 11:13:40 +01:00
771044a95a core: stream: add seek support to stdio streams 2025-07-31 11:13:18 +01:00
e4c4de94b8 core: ringbuffer: reset read and write pointers to 0 when a read buffer consumes all available data 2025-07-30 18:25:17 +01:00
2f874ff11a core: ringbuffer: make open_read_buffer pointer parameter const-correct 2025-07-30 18:24:45 +01:00
b5c07c2390 core: stream: make b_stream_write_bytes buffer pointer const 2025-07-30 18:23:33 +01:00
514b9f1c5f core: stream: add function to open a b_stream from a FILE pointer 2025-07-30 17:49:56 +01:00
f94cff5eef core: add error reporting api 2025-07-28 22:16:26 +01:00
55b76cc43c core: add status code strings and descriptions 2025-07-28 22:15:02 +01:00
3f96be28ed core: add format with va_list function to stringstream 2025-07-28 22:14:34 +01:00
5bac4db7ed core: add ringbuffer data structure 2025-07-28 22:13:41 +01:00
722a22a0e0 core: stringstream: update stringstream to support b_stream 2025-06-27 21:42:53 +01:00
49310eff2c core: add b_stream interface
b_stream represents a character-based I/O stream. it is an abstract interface
that can be implemented by any other object, allowing the object to be
interacted with via the b_stream api.
2025-06-27 21:41:07 +01:00
d5191c49c1 core: status: add permission denied status code 2025-06-27 21:40:44 +01:00
07581f6de0 core: queue: update b_queue_empty parameter to be a const ptr 2025-06-27 21:38:34 +01:00
f67a55500b core: fix hash subdirectory not being included in build 2025-04-11 14:01:15 +01:00
fd47d10271 core: btree: template function comparator now checks for a negative value rather than -1 in particular 2025-04-11 14:00:52 +01:00
17e4bb8e19 core: add functions to calculate the length of an int 2025-04-11 13:57:17 +01:00
f3e48f3e47 core: add rope data structure for efficiently building strings 2025-04-11 13:53:48 +01:00
ed4942c500 core: add support for lots of different hash algorithms 2025-04-11 13:52:42 +01:00
bdbae88e87 core: add more status codes 2025-02-12 22:10:57 +00:00
5c0df60dab core: fix const-correctness of queue functions 2025-02-10 13:58:28 +00:00
7452491427 meta: move endian functions from object to core 2024-12-10 22:26:52 +00:00
87b42f299d core: add support for compiling bitops on 32-bit platforms 2024-12-06 15:10:41 +00:00