You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

56 lines
1.0 KiB

/**
* @file: DeterministicTransition.h
* @author: Sebastian Junges
*
* @since April 24, 2014
*/
#pragma once
namespace storm
{
namespace storage
{
typedef uint_fast64_t StateId;
template<typename ProbabilityType>
class DeterministicTransition
{
std::pair<StateId, ProbabilityType> mTransition;
public:
DeterministicTransition(std::pair<StateId, ProbabilityType> const& transition) :
mTransition(transition)
{
}
DeterministicTransition(std::pair<StateId, ProbabilityType> && transition) :
mTransition(transition)
{
}
DeterministicTransition(StateId targetState) :
DeterministicTransition({targetState, ProbabilityType(0)})
{
}
StateId& targetState() {
return mTransition.first;
}
StateId const& targetState() const {
return mTransition.first;
}
ProbabilityType& probability() {
return mTransition.second;
}
ProbabilityType const& probability() const {
return mTransition.second;
}
};
}
}