9 : _buildChoiceLabels(false), _buildChoiceOrigins(false), _buildStatePlayerIndications(false), _buildMarkovianStates(false), _buildStateValuations(false) {
14 _buildChoiceLabels = value;
18 return _buildChoiceLabels;
22 STORM_LOG_ASSERT(_buildChoiceLabels,
"Building ChoiceLabels was not enabled.");
24 labeledChoices.
grow(choiceIndex + 1,
false);
25 labeledChoices.
set(choiceIndex,
true);
30 for (
auto& label : _choiceLabels) {
31 label.second.resize(totalNumberOfChoices,
false);
32 result.
addLabel(label.first, std::move(label.second));
38 _buildChoiceOrigins = value;
42 return _buildChoiceOrigins;
46 STORM_LOG_ASSERT(_buildChoiceOrigins,
"Building ChoiceOrigins was not enabled.");
47 STORM_LOG_ASSERT(_dataOfChoiceOrigins.size() <= choiceIndex,
"Unexpected choice index. Apparently, the choice indices are provided in an incorrect order.");
48 if (_dataOfChoiceOrigins.size() != choiceIndex) {
49 _dataOfChoiceOrigins.resize(choiceIndex);
51 _dataOfChoiceOrigins.push_back(originData);
55 STORM_LOG_ASSERT(_buildChoiceOrigins,
"Building ChoiceOrigins was not enabled.");
56 _dataOfChoiceOrigins.resize(totalNumberOfChoices);
57 _dataOfChoiceOrigins.shrink_to_fit();
58 return std::move(_dataOfChoiceOrigins);
62 _buildStatePlayerIndications = value;
66 return _buildStatePlayerIndications;
70 STORM_LOG_ASSERT(_buildStatePlayerIndications,
"Building StatePlayerIndications was not enabled.");
72 "Unexpected choice index. Apparently, the choice indices are provided in an incorrect order.");
73 if (_statePlayerIndications.size() != stateIndex) {
76 _statePlayerIndications.push_back(player);
80 STORM_LOG_ASSERT(_buildStatePlayerIndications,
"Building StatePlayerIndications was not enabled.");
81 return (stateIndex < _statePlayerIndications.size()) && (_statePlayerIndications[stateIndex] == expectedPlayer);
85 STORM_LOG_ASSERT(_buildStatePlayerIndications,
"Building StatePlayerIndications was not enabled.");
87 _statePlayerIndications.shrink_to_fit();
88 return std::move(_statePlayerIndications);
92 _buildMarkovianStates = value;
96 return _buildMarkovianStates;
100 STORM_LOG_ASSERT(_buildMarkovianStates,
"Building MarkovianStates was not enabled.");
101 _markovianStates.
grow(markovianStateIndex + 1,
false);
102 _markovianStates.
set(markovianStateIndex,
true);
106 STORM_LOG_ASSERT(_buildMarkovianStates,
"Building MarkovianStates was not enabled.");
107 _markovianStates.
resize(totalNumberOfStates,
false);
108 return _markovianStates;
112 _buildStateValuations = value;
116 return _buildStateValuations;
120 STORM_LOG_ASSERT(_buildStateValuations,
"Building StateValuations was not enabled.");
121 return _stateValuationsBuilder;
This class manages the labeling of the choice space with a number of (atomic) labels.
void addLabel(std::string const &label)
Adds a new label to the labelings.
A bit vector that is internally represented as a vector of 64-bit values.
void resize(uint_fast64_t newLength, bool init=false)
Resizes the bit vector to hold the given new number of bits.
void set(uint_fast64_t index, bool value=true)
Sets the given truth value at the given index.
void grow(uint_fast64_t minimumLength, bool init=false)
Enlarges the bit vector such that it holds at least the given number of bits (but possibly more).
#define STORM_LOG_ASSERT(cond, message)
PlayerIndex const INVALID_PLAYER_INDEX