AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
merge_and_shrink_algorithm_options.h
1#ifndef DOWNWARD_PLUGINS_MERGE_AND_SHRINK_MERGE_AND_SHRINK_ALGORITHM_H
2#define DOWNWARD_PLUGINS_MERGE_AND_SHRINK_MERGE_AND_SHRINK_ALGORITHM_H
3
4#include <memory>
5#include <tuple>
6
7namespace downward::cli::plugins {
8class Feature;
9class Options;
10} // namespace downward::cli::plugins
11
12namespace merge_and_shrink {
13class LabelReduction;
14class MergeStrategyFactory;
15class ShrinkStrategy;
16} // namespace merge_and_shrink
17
18namespace utils {
19class Context;
20}
21
22namespace downward::cli::merge_and_shrink {
23
24extern void
25add_merge_and_shrink_algorithm_options_to_feature(plugins::Feature& feature);
26std::tuple<
27 std::shared_ptr<::merge_and_shrink::MergeStrategyFactory>,
28 std::shared_ptr<::merge_and_shrink::ShrinkStrategy>,
29 std::shared_ptr<::merge_and_shrink::LabelReduction>,
30 bool,
31 bool,
32 int,
33 int,
34 int,
35 double>
36get_merge_and_shrink_algorithm_arguments_from_options(
37 const plugins::Options& opts);
38
39extern void
40add_transition_system_size_limit_options_to_feature(plugins::Feature& feature);
41
42std::tuple<int, int, int>
43get_transition_system_size_limit_arguments_from_options(
44 const plugins::Options& opts);
45
46extern void handle_shrink_limit_options_defaults(
47 plugins::Options& opts,
48 const utils::Context& context);
49
50} // namespace downward::cli::merge_and_shrink
51
52#endif