Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
RewardModelBuilder.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <vector>
5
7
8namespace storm {
9namespace models {
10namespace sparse {
11template<typename ValueType>
12class StandardRewardModel;
13}
14} // namespace models
15namespace builder {
16
20template<typename ValueType>
22 public:
23 RewardModelBuilder(RewardModelInformation const& rewardModelInformation);
24
25 storm::models::sparse::StandardRewardModel<ValueType> build(uint_fast64_t rowCount, uint_fast64_t columnCount, uint_fast64_t rowGroupCount);
26
27 std::string const& getName() const;
28
29 void addStateReward(ValueType const& value);
30
31 void addStateActionReward(ValueType const& value);
32
33 bool hasStateRewards() const;
34
35 bool hasStateActionRewards() const;
36
37 private:
38 std::string rewardModelName;
39
40 bool stateRewards;
41 bool stateActionRewards;
42
43 // The state reward vector.
44 std::vector<ValueType> stateRewardVector;
45
46 // The state-action reward vector.
47 std::vector<ValueType> stateActionRewardVector;
48};
49
50} // namespace builder
51} // namespace storm
A structure that is used to keep track of a reward model currently being built.
void addStateActionReward(ValueType const &value)
void addStateReward(ValueType const &value)
storm::models::sparse::StandardRewardModel< ValueType > build(uint_fast64_t rowCount, uint_fast64_t columnCount, uint_fast64_t rowGroupCount)
std::string const & getName() const
LabParser.cpp.
Definition cli.cpp:18