rainy's toolkit仍然是一个在开发中的项目,因此,如果出现bug,请务必提交issues来时刻进行更进!
rainy's toolkit是一个综合性的基础设施集合,当你使用现代C++开发的时候,如果以下问题能满足您的需要,或许它可以帮到你。
Q1: 需要一个性能还不赖的反射基础设施?
看看rainy的meta基础设施吧,我们目前正在编写一个以性能作为导向的C++反射库。
已经集成到了meta库中,作为reflection模块使用。我们迫不及待的想看到您的反馈了!
Q2: 需要一个性能还能接受又具有现代C++风格的json吗?
看看willow组件吧!它属于rainy的component组件模块中,你甚至可以这么编写json
using namespace rainy;
component::willow::json j = {{"name", "rainy-toolkit"}, {"version", 114514}};并且在性能测试中,我们也得到了一个相对较好的成绩。
并且,你可以随时指定json应该使用什么类型存储,并且也可以调整分配器,并且还可以配置内存池进行性能优化。
Q3: 希望在C++17中提前体验到C++23才有的一些库或者在C++23才被引入的特性但不想迁移编译器版本吗?
我们设计了一个PAL子库,它可以为你提供大量的底层PAL函数。
借助PAL,你可以在C++17中使用std::atomic::wait、future、std::latch、std::barrier以及各种系统级标准设施等等
并且,我们还提供了一些《Cpp Core Guidelines》支持库的基础设施,例如契约、not_null、窄化转换等。_
Q4: 喜欢用更灵活的模板元编程吗?
如果是的话,那么,我们在核心库中就已经编写了一个非常大的模板元编程工具,并且使用命名空间为您进行了分类,你可以时刻使用这些元编程工具,做你想做的事
rainy's toolkit很可惜,它必定不是一个跨处理器的库。也就是说,你看到的大量代码,都是对于x86架构的,只有amd64被确认可完全工作,而x86可能缺乏一些测试,但仍然可以进行工作。而arm64则不受到支持。