/// Locks the associated ThreadSafeContext and calls the given function,
/// passing the contained std::unique_ptr<Module>. The given function should
/// consume the Module.
- template <typename Func> decltype(auto) takingModuleDo(Func &&F) {
+ template <typename Func> decltype(auto) consumingModuleDo(Func &&F) {
auto Lock = TSCtx.getLock();
return F(std::move(M));
}
TSM.withModuleDo([](const Module &M) {});
}
-TEST(ThreadSafeModuleTest, TakingModuleDo) {
- // Test takingModuleDo.
+TEST(ThreadSafeModuleTest, ConsumingModuleDo) {
+ // Test consumingModuleDo.
ThreadSafeContext TSCtx(std::make_unique<LLVMContext>());
ThreadSafeModule TSM(std::make_unique<Module>("M", *TSCtx.getContext()),
TSCtx);
- TSM.takingModuleDo([](std::unique_ptr<Module> M) {});
+ TSM.consumingModuleDo([](std::unique_ptr<Module> M) {});
}
} // end anonymous namespace