AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
domain_abstracted_task_factory.h
1#ifndef TASKS_DOMAIN_ABSTRACTED_TASK_FACTORY_H
2#define TASKS_DOMAIN_ABSTRACTED_TASK_FACTORY_H
3
4#include <memory>
5#include <unordered_map>
6#include <vector>
7
8class AbstractTask;
9
10
11namespace extra_tasks {
12using ValueGroup = std::vector<int>;
13using ValueGroups = std::vector<ValueGroup>;
14using VarToGroups = std::unordered_map<int, ValueGroups>;
15
16/*
17 Factory for creating domain abstractions.
18*/
19std::shared_ptr<AbstractTask> build_domain_abstracted_task(
20 const std::shared_ptr<AbstractTask> &parent,
21 const VarToGroups &value_groups);
22}
23
24#endif