Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
builder.cpp
Go to the documentation of this file.
3
11
13
14namespace storm {
15namespace utility {
16namespace builder {
17
18template<typename ValueType, typename RewardModelType>
19std::shared_ptr<storm::models::sparse::Model<ValueType, RewardModelType>> buildModelFromComponents(
21 switch (modelType) {
23 return std::make_shared<storm::models::sparse::Dtmc<ValueType, RewardModelType>>(std::move(components));
25 return std::make_shared<storm::models::sparse::Ctmc<ValueType, RewardModelType>>(std::move(components));
27 return std::make_shared<storm::models::sparse::Mdp<ValueType, RewardModelType>>(std::move(components));
29 return std::make_shared<storm::models::sparse::Pomdp<ValueType, RewardModelType>>(std::move(components));
31 return std::make_shared<storm::models::sparse::MarkovAutomaton<ValueType, RewardModelType>>(std::move(components));
33 return std::make_shared<storm::models::sparse::StochasticTwoPlayerGame<ValueType, RewardModelType>>(std::move(components));
35 return std::make_shared<storm::models::sparse::Smg<ValueType, RewardModelType>>(std::move(components));
36 }
37 STORM_LOG_THROW(false, storm::exceptions::InvalidModelException, "Unknown model type");
38}
39
40template std::shared_ptr<storm::models::sparse::Model<double>> buildModelFromComponents(storm::models::ModelType modelType,
42template std::shared_ptr<storm::models::sparse::Model<double, storm::models::sparse::StandardRewardModel<storm::Interval>>> buildModelFromComponents(
45template std::shared_ptr<storm::models::sparse::Model<storm::RationalNumber>> buildModelFromComponents(
47template std::shared_ptr<storm::models::sparse::Model<storm::RationalFunction>> buildModelFromComponents(
49template std::shared_ptr<storm::models::sparse::Model<storm::Interval>> buildModelFromComponents(
51
52} // namespace builder
53} // namespace utility
54} // 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:19
LabParser.cpp.
Definition cli.cpp:18