Commit Graph

50 Commits

Author SHA1 Message Date
f6f49faf97 core: encoding: add utf-8 functions from b_string to b_wchar interface 2025-10-25 00:02:15 +01:00
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
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
4ab524a66b core: hash: rename b_hash_string to avoid conflict with b_string 2025-09-22 10:31:30 +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
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
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
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
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
753d3ea9d3 core: add enum name to b_status 2024-11-22 22:29:05 +00:00
1bab373547 core: implement string hashing using FNV-1a 2024-11-14 21:59:40 +00:00
6c1ae190d3 core: don't use declspec(dllexport) when compiling/linking to static library
this is required due to function names being decorated differently by MSVC when building a .dll file
2024-11-14 21:59:14 +00:00
d614e110df add win32 (msvc) support 2024-11-14 16:56:18 +00:00
a86291ca75 fix linux-specific compilation errors 2024-10-27 15:36:14 +00:00
44fb8593a5 core: add random number generator 2024-10-24 21:33:05 +01:00
fa6ebe6a84 add object module from corelib 2024-10-24 19:24:54 +01:00
7eb0fc5581 initial commit 2024-10-24 13:09:16 +01:00