STAMINA/STORM 0.1
Infinite state-space truncator which generates a probability within a window
StaminaThreadedPriorityModelBuilder.h
1
12#ifndef STAMINA_BUILDER_STAMINATHREADEDPRIORITYMODELBUILDER_H
13#define STAMINA_BUILDER_STAMINATHREADEDPRIORITYMODELBUILDER_H
14
15#include "StaminaPriorityModelBuilder.h"
16
17namespace stamina {
18 namespace builder {
19 template<typename ValueType, typename RewardModelType = storm::models::sparse::StandardRewardModel<ValueType>, typename StateType = uint32_t>
20 class StaminaThreadedPriorityModelBuilder : public StaminaPriorityModelBuilder<ValueType, RewardModelType, StateType> {
21 public:
28 std::shared_ptr<storm::generator::PrismNextStateGenerator<ValueType, StateType>> const& generator
29 , storm::prism::Program const& modulesFile
30 , storm::generator::NextStateGeneratorOptions const & options
31 );
39 storm::prism::Program const& program
40 , storm::generator::NextStateGeneratorOptions const& generatorOptions = storm::generator::NextStateGeneratorOptions()
41 );
52 storm::storage::SparseMatrixBuilder<ValueType>& transitionMatrixBuilder
53 , std::vector<RewardModelBuilder<typename RewardModelType::ValueType>>& rewardModelBuilders
54 , StateAndChoiceInformationBuilder& choiceInformationBuilder
55 , boost::optional<storm::storage::BitVector>& markovianChoices
56 , boost::optional<storm::storage::sparse::StateValuationsBuilder>& stateValuationsBuilder
57 ) override;
58 private:
59 };
60 // "Custom" deleter (which actually is not custom) to allow for polymorphic shared pointers
61 template<typename ValueType, typename RewardModelType = storm::models::sparse::StandardRewardModel<ValueType>, typename StateType = uint32_t>
62 void __delete_stamina_iterative_model_builder(StaminaThreadedPriorityModelBuilder<ValueType, RewardModelType, StateType> * t) { delete t; }
63 }
64}
65
66#endif // STAMINA_BUILDER_STAMINATHREADEDPRIORITYMODELBUILDER_H
Definition: StaminaPriorityModelBuilder.h:16
Definition: StaminaThreadedPriorityModelBuilder.h:20
StaminaThreadedPriorityModelBuilder(storm::prism::Program const &program, storm::generator::NextStateGeneratorOptions const &generatorOptions=storm::generator::NextStateGeneratorOptions())
void buildMatrices(storm::storage::SparseMatrixBuilder< ValueType > &transitionMatrixBuilder, std::vector< RewardModelBuilder< typename RewardModelType::ValueType > > &rewardModelBuilders, StateAndChoiceInformationBuilder &choiceInformationBuilder, boost::optional< storm::storage::BitVector > &markovianChoices, boost::optional< storm::storage::sparse::StateValuationsBuilder > &stateValuationsBuilder) override
StaminaThreadedPriorityModelBuilder(std::shared_ptr< storm::generator::PrismNextStateGenerator< ValueType, StateType > > const &generator, storm::prism::Program const &modulesFile, storm::generator::NextStateGeneratorOptions const &options)
Definition: StaminaThreadedPriorityModelBuilder.cpp:7
Definition: ExplicitTruncatedModelBuilder.cpp:40