Scheduler
actionSpace.h
Go to the documentation of this file.
1 
10 #ifndef ACTIONSPACE_H
11 #define ACTIONSPACE_H
12 
13 #include <memory>
14 #include <string>
15 #include <tuple>
16 #include <vector>
17 
18 #include "action_impl.h"
19 #include "actionDimension.h"
20 
21 namespace Mdp
22 {
23 
24 class Action;
25 class ActionSpaceBuilder;
26 class DomainModel;
27 class MdpModel;
28 
29 
31 {
32  friend ActionSpaceBuilder;
33  friend MdpModel;
34 public:
35  virtual size_t size();
36  ~ActionSpace();
37  Action *getAction(action_t action);
38  void updateLastAction(action_t a);
40 protected:
41  ActionSpace();
43 
44  std::vector<Action*> actions;
45  std::shared_ptr<DomainModel> domainModel{nullptr};
47  std::vector<ActionDimension> dimensions;
48 };
49 
50 }
51 #endif
void setDomainModelOfActions()
Definition: actionSpace.cpp:38
action_t getLastAction()
Definition: actionSpace.cpp:61
Builds the action space.
virtual size_t size()
Definition: actionSpace.cpp:32
void updateLastAction(action_t a)
Definition: actionSpace.cpp:56
The main class of the MDP framework.
Definition: mdpModel.h:35
size_t action_t
Definition: action_impl.h:18
Definition: action.h:18
std::vector< Action * > actions
Definition: actionSpace.h:44
std::vector< ActionDimension > dimensions
Definition: actionSpace.h:47
Action * getAction(action_t action)
Definition: actionSpace.cpp:49
action_t lastAction
Definition: actionSpace.h:46
std::shared_ptr< DomainModel > domainModel
Definition: actionSpace.h:45