symbolic
include
symbolic
utils
parameter_generator.h
1
10
#ifndef SYMBOLIC_UTILS_PARAMETER_GENERATOR_H_
11
#define SYMBOLIC_UTILS_PARAMETER_GENERATOR_H_
12
13
#include <unordered_map>
// std::unordered_map
14
#include <vector>
// std::vector
15
16
#include "symbolic/object.h"
17
#include "symbolic/utils/combination_generator.h"
18
19
namespace
symbolic
{
20
21
class
ParameterGenerator
22
:
public
CombinationGenerator
<const std::vector<Object>> {
23
public
:
24
using
Base
=
CombinationGenerator<const std::vector<Object>
>;
25
using
ObjectTypeMap = std::unordered_map<std::string, std::vector<Object>>;
26
27
ParameterGenerator
() =
default
;
28
~
ParameterGenerator
()
override
=
default
;
29
30
ParameterGenerator
(
const
Pddl
& pddl,
31
const
std::vector<Object>& params);
32
33
ParameterGenerator
(
const
ParameterGenerator
& other);
34
ParameterGenerator
(
ParameterGenerator
&& other) noexcept;
35
ParameterGenerator
& operator=(
const
ParameterGenerator
& rhs);
36
ParameterGenerator
& operator=(
ParameterGenerator
&& rhs) noexcept;
37
38
const
Pddl
& pddl()
const
{
return
*pddl_; }
39
40
private
:
41
const
Pddl
* pddl_ =
nullptr
;
42
43
// Store parameter types for portability
44
std::vector<std::vector<Object>> param_types_;
45
};
46
47
}
// namespace symbolic
48
49
#endif // SYMBOLIC_UTILS_PARAMETER_GENERATOR_H_
symbolic
Definition:
action.cc:329
symbolic::Pddl
Definition:
pddl.h:40
symbolic::ParameterGenerator
Definition:
parameter_generator.h:21
symbolic::CombinationGenerator
Definition:
combination_generator.h:35
Generated by
1.8.17