ThreadPool

class ThreadPool

Public Types

using JobFunc = std::function<std::optional<std::size_t>()>

Public Functions

ThreadPool(int thread_count = -1)
~ThreadPool()
ThreadPool(const ThreadPool&) = delete
ThreadPool &operator=(const ThreadPool&) = delete
void set_thread_count(int new_count)
inline std::size_t thread_count() const
void submit(JobFunc job)
void submit(std::vector<JobFunc> &jobs)
std::optional<std::size_t> wait()
std::vector<std::size_t> wait_multiple()
std::size_t add_listener(std::function<void(std::size_t)> listener)
void remove_listener(std::size_t id)

Public Static Functions

static inline std::size_t thread_index()