3#ifndef NO_MULTITHREADING
6#include <condition_variable>
23 void enqueue(
const std::function<
void()>& task);
29 std::queue<std::function<void()>>
tasks;
ThreadPool & operator=(ThreadPool &&other)=delete
std::condition_variable finished_condition
std::vector< std::thread > workers
ThreadPool(ThreadPool &&other)=delete
std::atomic< size_t > tasks_running
std::condition_variable condition
void worker_loop(size_t thread_index)
void enqueue(const std::function< void()> &task)
ThreadPool(const ThreadPool &other)=delete
std::queue< std::function< void()> > tasks
ThreadPool & operator=(const ThreadPool &other)=delete
Entry point for Barretenberg command-line interface.
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept