diff --git a/include/dwarfs/worker_group.h b/include/dwarfs/worker_group.h index ec85a2bb..ec13e261 100644 --- a/include/dwarfs/worker_group.h +++ b/include/dwarfs/worker_group.h @@ -22,6 +22,7 @@ #pragma once #include +#include #include #include #include @@ -72,6 +73,11 @@ class worker_group { size_t size() const { return impl_->size(); } size_t queue_size() const { return impl_->queue_size(); } + template + bool add_job(std::packaged_task&& task) { + return add_job([task = std::move(task)]() mutable { task(); }); + } + class impl { public: virtual ~impl() = default;