86d5b9d31d
test: add lots of stream tests
2025-06-27 21:54:10 +01:00
c987f34693
meta: add serial module for (de)serialising objects
2025-06-27 21:53:40 +01:00
2ced9a8309
cmd: update references to b_stderr
2025-06-27 21:53:03 +01:00
b00d9c51bd
term: rename b_stderr to avoid clashing with b_stream stderr pointer
2025-06-27 21:52:42 +01:00
23bd483e78
io: file: add b_stream support
2025-06-27 21:51:52 +01:00
56e35ae07d
io: path: update to_string callback to use b_stream
2025-06-27 21:51:39 +01:00
eaa556330e
io: implement EPERM -> B_ERR_PERMISSION_DENIED conversion
2025-06-27 21:51:18 +01:00
730b86d907
io: directory: fix wrong stat field usage
2025-06-27 21:50:39 +01:00
c54d51d381
object: update to_string callback to use b_stream instead of b_stringstream
2025-06-27 21:47:55 +01:00
579a9e8505
object: hashmap: implement key/value destructors
2025-06-27 21:46:55 +01:00
5634506433
object: add b_list object
...
b_list behaves exactly like b_queue, with two key differences:
1) it is memory-managed like other b_objects, which means it
is stored on the heap and ref-counted.
2) it is not an invasive data structure, and will automatically
create and manage list nodes that contain pointers to the
list items.
2025-06-27 21:43:57 +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
f5b1200525
build: add io module to FindBluelib.cmake
2025-04-11 14:02:02 +01:00
aa24becb2f
core: add hash and rope tests
2025-04-11 14:01:47 +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
eb7e88d9fa
object: start implement bit-buffer data structure
2025-04-11 13:56:26 +01:00
0ddfb2ee3c
object: add generic byte-buffer data structure
2025-04-11 13:56:09 +01:00
640bf57b60
object: add b_string_substr
2025-04-11 13:55:36 +01:00
a627116264
io: add lots of directory and path manipulation functions
2025-04-11 13:54:53 +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
c630321bf6
build: add support for generic source sub-directories in modules
2025-04-11 13:48:18 +01:00
bf83831cee
io: implement stat'ing paths, files, and directory contents
2025-02-14 22:06:24 +00:00
61848aadd7
io: fix null pointer deref in win32 update_iterator_data
2025-02-14 18:39:58 +00:00
8177eb2b24
io: store current directory iterator filepath as a b_path
2025-02-13 21:36:53 +00:00
c822be0804
io: implement path manipulation and directory iteration on darwin
2025-02-13 18:03:27 +00:00
8862cdf2e0
io: implement pre- and post-order directory traversal for windows
2025-02-12 22:11:18 +00:00
bdbae88e87
core: add more status codes
2025-02-12 22:10:57 +00:00
3fe2fa7d60
io: implement path manipulation on windows
2025-02-10 21:17:01 +00:00
4c3cc27d08
object: string: add front, back, and pop_back functions
2025-02-10 21:15:48 +00:00
4f9ea02126
meta: add module for disk I/O functionality
2025-02-10 13:59:20 +00:00
9add587ddd
object: unify stringstream functionality
2025-02-10 13:59:06 +00:00
5c0df60dab
core: fix const-correctness of queue functions
2025-02-10 13:58:28 +00:00
243c6651b0
cmd: improve API for accessing multi-arg options
2025-02-04 12:59:44 +00:00
7452491427
meta: move endian functions from object to core
2024-12-10 22:26:52 +00:00
96308b2965
cmd: implement b_arglist_get_* functions
2024-12-10 22:26:12 +00:00
87b42f299d
core: add support for compiling bitops on 32-bit platforms
2024-12-06 15:10:41 +00:00
b07b7a86c4
cmd: fix arglist count not including multiple occurrences of the same non-arg options
2024-12-05 21:07:32 +00:00
625789d0ea
cmd: fix arglist iterator not finding all relevant opts/args in certain cases
2024-11-27 12:57:06 +00:00
fda266af2f
cmd: fix int->pointer widening cast warning on MSVC
2024-11-24 20:47:41 +00:00
960eddded2
term: fix int->HANDLE cast warnings
2024-11-24 20:47:16 +00:00
d88b42f50e
term: update module to work on linux and darwin
2024-11-22 22:29:40 +00:00
753d3ea9d3
core: add enum name to b_status
2024-11-22 22:29:05 +00:00
033e44f83f
cmd: switch to new tty interface
2024-11-20 22:12:50 +00:00
dafa74b1b9
term: extend tty interface with more features
2024-11-20 22:12:36 +00:00