一个现代、用户友好、通用、类型安全且快速的 C99 容器库:字符串、向量、有序和无序映射和集合、双端队列、前向链表、智能指针
--- # STC - 智能模板容器 6.0 RC4 版本 STC 是一款成熟、全面、通用的 C99/C11 容器和算法库。它具有出色的人机界面,几乎不需要任何模板代码。该库为 C 添加了许多缺失的功能,例如常见的数据容器、算法和抽象,这些功能在当代系统语言中也有,例如 Zig、Rust 和 C++。容器和算法采用模板或通用方法,可实现完全类型安全、紧凑且高性能的实现。
版本 6 更新 对于 V5.1 之后对 coroutine、cspan 和 cregex 模块的多次 API 变更,我们深表歉意。从即将发布的 V6.0 版本起,API 将保持稳定,并实现向后兼容。V6.0: - 新增了具有等待组、取消和异步完成功能的强大的 V2 协程。 - 修复 #149: 改进了 cregex API 并修复了单词边界匹配的错误。 - 修复 #143: 重大容器初始化缺陷。 - 修复 #146: cstr 初始化的回退。 - 修复 #142: i_no_clone 相关的回退。 - 修复 #138: 通用哈希函数错误。 - 修复队列 / 双端队列的 shrink_to_fit() 和 reserve() 错误。 - 修复 i_aux 和自定义分配的错误。 - 修复 #136: hmap 中缺少的导出,#137: declare_hash_set()。 - 修复 #133: vec/stack 的 _begin() 和 _rbegin() 中的错误。 - 修复 #129 和 #150: Makefile 中的错误和改进。 - 修复 #128: cstr_istarts_with() 中的错误。 - 问题 #123: 为 cstr_from_fmt() 和 cstr_printf() 添加了 GNU 打印格式属性。 - 改进了文档。
V5.1: - 现在可以在包含容器之前使用单个 #define 指定具有非平凡元素类型的容器 (使用 c_class_key, c_pro_key 和 c_comp_key 选项 特性)。 - 用户现在可以将 T 定义为 i_type 的简写。 - 将 arc 替换为只占用一个指针的新实现。以前的 arc 现在可作为特性选项 (c_use_arc2) 使用。新的 arc 不能从对象指针构造,为此使用 arc2。 - 更新了 cregex 中的错误,以处理无效的 utf8 字符串。 - cspan API 中有一些突破性的更改。 - 其他一些较小的改进和 bug 修复。
暂无开放 Issues,或尚未同步最近议题。