AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
flaw.h
1#ifndef PROBFD_CARTESIAN_FLAW_H
2#define PROBFD_CARTESIAN_FLAW_H
3
4#include "probfd/cartesian_abstractions/types.h"
5
6#include "downward/cartesian_abstractions/cartesian_set.h"
7
8#include "downward/task_proxy.h"
9
10#include <vector>
11
12// Forward Declarations
13namespace probfd::cartesian_abstractions {
14class AbstractState;
15struct Split;
16} // namespace probfd::cartesian_abstractions
17
18namespace probfd::cartesian_abstractions {
19
20struct Flaw {
21 // Last concrete and abstract state reached while tracing solution.
22 State concrete_state;
23 const AbstractState& current_abstract_state;
24 // Hypothetical Cartesian set we would have liked to reach.
25 CartesianSet desired_cartesian_set;
26
27 Flaw(
28 State&& concrete_state,
29 const AbstractState& current_abstract_state,
30 CartesianSet&& desired_cartesian_set);
31
32 std::vector<Split> get_possible_splits() const;
33};
34
35} // namespace probfd::cartesian_abstractions
36
37#endif // PROBFD_CARTESIAN_FLAW_H