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
75e9291da3
core: error: update header include guard
2025-10-25 19:36:25 +01:00
a429e76721
core: stream: add utf-8 awareness to b_stream interface
...
b_stream can now read/write utf-8 encoded data, and will do so unless
the stream is in binary mode.
b_stream will also report an error it encounters invalid utf-8 data
(unless binary mode is enabled).
2025-10-25 00:02:33 +01:00
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