Support packaged tasks in worker groups

This commit is contained in:
Marcus Holland-Moritz 2021-03-20 07:06:40 +01:00
parent 13eeaba658
commit db5576ac29

View File

@ -22,6 +22,7 @@
#pragma once
#include <cstddef>
#include <future>
#include <limits>
#include <memory>
#include <utility>
@ -72,6 +73,11 @@ class worker_group {
size_t size() const { return impl_->size(); }
size_t queue_size() const { return impl_->queue_size(); }
template <typename T>
bool add_job(std::packaged_task<T()>&& task) {
return add_job([task = std::move(task)]() mutable { task(); });
}
class impl {
public:
virtual ~impl() = default;