Skip to main content
Version: 1.1.1

概览

我经常需要文件系统功能,主要是 fs::path,但也需要目录访问,当开始使用 C++11 时,我使用 该语言更新来尝试减少我的第三方依赖项。我可以放弃我使用的大部分内容,但仍然错过了一些我为了好玩而 开始实现的东西。最初,我根据自己的编码和命名约定创建了这些帮助程序。当 C++17 最终确定 时,我想使用该接口,但花了一段时间才推动自己转换我的类。

该实现与 C++17 标准的第 30.10 章密切相关,接近该版本的草案是工作草案 N4687。它是在 C++17 标准化之后发布的,但与工作草案 N4659 相比,它包含最新的文件系统接口更改。从 v1.4.0 开始,当使用 C++20 编译时,它会根据路径排序顺序和工作草案 N4860 中的 std::u8string 处理适应更改。

我想感谢那些致力于改进 C++ 的人们,我真的很喜欢这门语言随着 C++11 和后续标准的演变。继续努力!

kumo 文件系统

kumo的文件的实现,在API层,基于c++17标准实现,但不完全相同,考虑到 kumo体系的规范,在实现上有如下区别。

  1. kumo体系的class以驼峰形式命名。函数以snake sytle命名。
  2. kumo文件系统函数返回值的功能与std::filesystem功能相同不同的是返回值和参数。kumo文件系统无异常抛出。所有的错误均以 turbo::Statusturbo::Result<T>形式返回。
  3. std::error_code作为参数的函数相同。