@ -111,6 +111,25 @@ namespace storm {
}
return it - > second ;
}
template < typename ValueType , typename RewardModelType >
void Model < ValueType , RewardModelType > : : addRewardModel ( std : : string const & rewardModelName , RewardModelType const & newRewardModel ) {
if ( this - > hasRewardModel ( rewardModelName ) ) {
STORM_LOG_THROW ( ! ( this - > hasRewardModel ( rewardModelName ) ) , storm : : exceptions : : IllegalArgumentException , " A reward model with the given name ' " < < rewardModelName < < " ' already exists. " ) ;
}
assert ( newRewardModel . isCompatible ( this - > getNumberOfStates ( ) , this - > getTransitionMatrix ( ) . getRowCount ( ) ) ) ;
this - > rewardModels . emplace ( rewardModelName , newRewardModel ) ;
}
template < typename ValueType , typename RewardModelType >
bool Model < ValueType , RewardModelType > : : removeRewardModel ( std : : string const & rewardModelName ) {
auto it = this - > rewardModels . find ( rewardModelName ) ;
bool res = ( it ! = this - > rewardModels . end ( ) ) ;
if ( res ) {
this - > rewardModels . erase ( it - > first ) ;
}
return res ;
}
template < typename ValueType , typename RewardModelType >
bool Model < ValueType , RewardModelType > : : hasUniqueRewardModel ( ) const {