Commit Graph

11 Commits

Author SHA1 Message Date
81d9cf3c13 fix(iter): 修复反向迭代终止条件及指针解引用错误 2026-05-19 19:06:48 +08:00
e33d1cad60 refactor(core)!: 重构容器接口区分 reserve 与 resize,并更新ustring_new接口统一uview_t参数 2026-05-18 11:43:09 +08:00
4396d4d337 feat(segarray): 实现动态扩容与惰性初始化 2026-05-17 20:49:26 +08:00
f5c3b178c5 feat(deque): 支持 segarray 后端实现
关于容量有些争议,后续考虑怎么处理。

- 重构 `deque` 源码,使用条件编译适配 `ringbuf` 或 `segarray`
- 修复 `segarray` 扩容逻辑,使用正确的段大小 `_segsize` 进行分配
- 优化 `segarray` 初始化逻辑,支持容量为 0 时的延迟分配
2026-05-17 17:08:22 +08:00
72db0be317 feat(stl): 新增 arraylist 并统一迭代器顺序枚举类型
- 重构迭代器顺序枚举,引入 linear_order_t、tree_order_t 等通用类型,并替换。
- 修复 darray 中二分查找返回索引计算错误的问题
- 优化 segarray 的内存分配错误处理
- 增强 logger 模块,支持时间戳打印及格式化输出
2026-05-17 10:48:19 +08:00
15ab80cc4d feat(logger): 新增文件日志功能,帮助我很快排查到了segarray_free的bug 2026-05-17 00:49:29 +08:00
8a65218105 feat(segarray): 实现随机访问,优化迭代器和头尾访问实现逻辑,并与ringbuf对比不同应用场景下的优劣 2026-05-16 22:18:59 +08:00
115646ecd4 refactor(core): 统一内存管理与日志宏接口 2026-05-16 17:55:47 +08:00
0dd45ed7dd refactor(segarray): 段使用rawbuf而不是darray,先按照最简单的方式调试通push和pop等操作 2026-05-15 19:01:37 +08:00
0236e6e315 feat(rawbuf): 新增 rawbuf 模块,做随机访问,支持malloc和静态内存。
(之前我突然对darray理解错了,现在的darray设计就是合理的。注意区分开rawbuf和darray)
2026-05-15 15:53:11 +08:00
3ceffc938e segarray调试期间,发现我的darray设计的非常不合理,size基于insert,而set有基于size。这样新建的darray不能立刻使用set 2026-05-15 13:37:45 +08:00