a5762e537b
core: stringstream: convert to a b_object type inheriting from b_stream
2025-10-24 12:32:54 +01:00
fd4f60e37f
core: stream: convert to a b_object interface and base class
2025-10-24 12:32:16 +01:00
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