Commit Graph

80 Commits

Author SHA1 Message Date
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
7e440f213c cmd: clean up execute_command help message handling 2024-11-19 15:21:10 +00:00
726649189b cmd: arglist: fix iterator not picking up options without parameters 2024-11-19 15:20:11 +00:00
dfa817cb9a object: string: add b_string_replace_all() 2024-11-18 09:55:46 +00:00
2531f00b81 object: string: fix b_string_steal resetting capacity to wrong value 2024-11-17 09:22:39 +00:00
e37d6bb3b3 term: fix missing ansi colour code for blue fg/bg text 2024-11-16 23:06:34 +00:00
582261d743 core: add missing includes 2024-11-14 23:12:09 +00:00
8a78d9c94a term: implement bright background colour; linux/darwin support for format codes 2024-11-14 23:11:55 +00:00
64a246e6f7 cmd: use term formatting codes for command help text 2024-11-14 22:03:39 +00:00