Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
builder.cpp
Go to the documentation of this file.
2
14
15namespace storm {
16namespace utility {
17namespace builder {
18
19template<typename ValueType, typename RewardModelType>
20std::shared_ptr<storm::models::sparse::Model<ValueType, RewardModelType>> buildModelFromComponents(
22 switch (modelType) {
24 return std::make_shared<storm::models::sparse::Dtmc<ValueType, RewardModelType>>(std::move(components));
26 return std::make_shared<storm::models::sparse::Ctmc<ValueType, RewardModelType>>(std::move(components));
28 return std::make_shared<storm::models::sparse::Mdp<ValueType, RewardModelType>>(std::move(components));
30 return std::make_shared<storm::models::sparse::Pomdp<ValueType, RewardModelType>>(std::move(components));
32 return std::make_shared<storm::models::sparse::MarkovAutomaton<ValueType, RewardModelType>>(std::move(components));
34 return std::make_shared<storm::models::sparse::StochasticTwoPlayerGame<ValueType, RewardModelType>>(std::move(components));
36 return std::make_shared<storm::models::sparse::Smg<ValueType, RewardModelType>>(std::move(components));
37 }
38 STORM_LOG_THROW(false, storm::exceptions::InvalidModelException, "Unknown model type");
39}
40
41template std::shared_ptr<storm::models::sparse::Model<double>> buildModelFromComponents(storm::models::ModelType modelType,
43template std::shared_ptr<storm::models::sparse::Model<double, storm::models::sparse::StandardRewardModel<storm::Interval>>> buildModelFromComponents(
46template std::shared_ptr<storm::models::sparse::Model<storm::RationalNumber>> buildModelFromComponents(
48template std::shared_ptr<storm::models::sparse::Model<storm::RationalFunction>> buildModelFromComponents(
50template std::shared_ptr<storm::models::sparse::Model<storm::Interval>> buildModelFromComponents(
52
53} // namespace builder
54} // namespace utility
55} // namespace storm
#define STORM_LOG_THROW(cond, exception, message)
Definition macros.h:30
std::shared_ptr< storm::models::sparse::Model< ValueType, RewardModelType > > buildModelFromComponents(storm::models::ModelType modelType, storm::storage::sparse::ModelComponents< ValueType, RewardModelType > &&components)
Definition builder.cpp:20