12namespace alpaka::onHost::internal
21 struct ManagedDealloc : std::enable_shared_from_this<ManagedDealloc>
28 ManagedDealloc(std::function<
void()> freeOp) : freeOp{std::move(freeOp)}
35 for(
auto& action : actions)
46 void addAction(std::function<
void()> action)
48 std::lock_guard<std::mutex> lock{actionGuard};
49 actions.emplace_back(std::move(action));
52 std::shared_ptr<ManagedDealloc> getSharedPtr()
54 return this->shared_from_this();
58 std::function<void()> freeOp;
59 std::mutex actionGuard;
60 std::vector<std::function<void()>> actions;