Rapid YAML - 一个用于解析和输出 YAML 的库,并且速度快。
ryml 可以解析只读和原地修改的源缓冲区;生成的树仅包含源缓冲区子范围的视图。不进行字符串复制或重复,也不使用虚函数。与构建重量级字典树的解析模型不同, ryml 将数据解析成基于索引的扁平数据树,使其对于大型数据集和裸机系统具有高效性。
使用树结构时, (de)序列化只在您直接请求时发生, 在解析之前/发送之后。内部, 树结构表示只存储字符串视图, 并对用户类型不做任何假设。而且不仅解析或发送速度快; 序列化速度也极快, 在许多情况下, 甚至比最快的 C++ 设施如 std::to_chars() 还要快。 ryml 使读取和修改数据树变得简单快捷。
ryml 可以使用自定义的全局和每个树的内存分配器和错误处理回调函数,并且对异常是无关的。 ryml 提供了默认的分配器实现(使用 std::malloc())和错误处理器(使用异常、 longjmp() 或 std::abort()),但您可以选择不使用它们,并提供自己的内存分配和异常抛出回调函数等。
ryml 不依赖于 STL,即,它不使用任何 std 容器作为其数据结构的一部分,但可以将这些容器序列化和反序列化为数据树。 ryml 附带 c4core 的部分,这是一个小型 C++ 工具多平台库,但您可以忽略 c4core 的源代码版本,并使用自定义或系统安装的 c4core 版本。
暂无开放 Issues,或尚未同步最近议题。