Robocute秉承“最小重复造轮子”的原则,会尽可能吸收采纳现成的解决方案作为标准库,主要开发中
HashMap采用LuisaCompute中的一个内部实现,支持一些特殊用法
auto is_new_elem = resource_factories.try_emplace(type, factory).second;
如果你不希望在已经有了元素的情况下构建新的元素,那还可以
resource_factories.try_emplace(type, vstd::lazy_eval([&] { return make_factory(); }));
这样 make_factory 只有在需要添加的时候才会调用