10namespace alpaka::onHost::internal
19 struct ManagedDealloc : std::enable_shared_from_this<ManagedDealloc>
26 ManagedDealloc(std::function<
void()> freeOp) : freeOp{std::move(freeOp)}
33 for(
auto& action : actions)
44 void addAction(std::function<
void()> action)
46 std::lock_guard<std::mutex> lock{actionGuard};
47 actions.emplace_back(std::move(action));
50 std::shared_ptr<ManagedDealloc> getSharedPtr()
52 return this->shared_from_this();
56 std::function<void()> freeOp;
57 std::mutex actionGuard;
58 std::vector<std::function<void()>> actions;