11#ifndef EIGEN_THREADPOOL_THREAD_ENVIRONMENT_H
12#define EIGEN_THREADPOOL_THREAD_ENVIRONMENT_H
15#include "./InternalHeaderCheck.h"
19struct StlThreadEnvironment {
21 std::function<void()> f;
28 EnvThread(std::function<
void()> f) : thr_(std::move(f)) {}
29 ~EnvThread() { thr_.join(); }
37 EnvThread* CreateThread(std::function<
void()> f) {
return new EnvThread(std::move(f)); }
38 Task CreateTask(std::function<
void()> f) {
return Task{std::move(f)}; }
39 void ExecuteTask(
const Task& t) { t.f(); }