1 #ifndef SRC_SCHEDULERS_HPP_
2 #define SRC_SCHEDULERS_HPP_
5 #include <unordered_map>
18 std::vector<TaskFunc>
deps;
29 bool CheckDone(std::vector<TaskFunc>
const &deps);
30 void AddTasks(std::vector<TaskFunc>
const &tasks);
33 std::unordered_map<TaskFunc, TaskInfo>
tasks_;
static SchedulerPtr Create(MeshBlock *pmb, ParameterInput *pin)
IntegrationStage current_stage_
Scheduler(MeshBlock *pmb)
constructor and destructor
bool DoTask(TaskFunc func)
functions
std::unordered_map< TaskFunc, TaskInfo > tasks_
bool CheckDone(std::vector< TaskFunc > const &deps)
void AddTasks(std::vector< TaskFunc > const &tasks)
bool(*)(MeshBlock *, IntegrationStage) TaskFunc
std::pair< int, int > IntegrationStage
std::shared_ptr< Scheduler > SchedulerPtr
std::vector< TaskFunc > deps