1#ifndef TASKS_DELEGATING_TASK_H
2#define TASKS_DELEGATING_TASK_H
4#include "downward/abstract_task.h"
17class DelegatingTask :
public AbstractTask {
19 const std::shared_ptr<AbstractTask> parent;
22 explicit DelegatingTask(
const std::shared_ptr<AbstractTask>& parent);
23 virtual ~DelegatingTask()
override =
default;
25 virtual int get_num_variables()
const override;
26 virtual std::string get_variable_name(
int var)
const override;
27 virtual int get_variable_domain_size(
int var)
const override;
28 virtual int get_variable_axiom_layer(
int var)
const override;
29 virtual int get_variable_default_axiom_value(
int var)
const override;
30 virtual std::string get_fact_name(
const FactPair& fact)
const override;
31 virtual bool are_facts_mutex(
const FactPair& fact1,
const FactPair& fact2)
34 virtual int get_num_axioms()
const override;
36 virtual std::string get_axiom_name(
int index)
const override;
37 virtual int get_num_axiom_preconditions(
int index)
const override;
39 get_axiom_precondition(
int op_index,
int fact_index)
const override;
40 virtual int get_num_axiom_effects(
int op_index)
const override;
42 get_num_axiom_effect_conditions(
int op_index,
int eff_index)
const override;
44 get_axiom_effect_condition(
int op_index,
int eff_index,
int cond_index)
47 get_axiom_effect(
int op_index,
int eff_index)
const override;
49 virtual int get_operator_cost(
int index)
const override;
50 virtual std::string get_operator_name(
int index)
const override;
51 virtual int get_num_operators()
const override;
52 virtual int get_num_operator_preconditions(
int index)
const override;
54 get_operator_precondition(
int op_index,
int fact_index)
const override;
55 virtual int get_num_operator_effects(
int op_index)
const override;
56 virtual int get_num_operator_effect_conditions(
int op_index,
int eff_index)
59 get_operator_effect_condition(
int op_index,
int eff_index,
int cond_index)
62 get_operator_effect(
int op_index,
int eff_index)
const override;
64 convert_operator_index(
int index,
const PlanningTask* ancestor_task)
67 virtual int convert_operator_index_to_parent(
int index)
const
72 virtual int get_num_goals()
const override;
73 virtual FactPair get_goal_fact(
int index)
const override;
75 virtual std::vector<int> get_initial_state_values()
const override;
77 virtual void convert_ancestor_state_values(
78 std::vector<int>& values,
79 const PlanningTask* ancestor_task)
const final override;
80 virtual void convert_state_values_from_parent(std::vector<int>&)
const {}