/** * @file: DeterministicTransition.h * @author: Sebastian Junges * * @since April 24, 2014 */ #pragma once namespace storm { namespace storage { typedef uint_fast64_t StateId; template class DeterministicTransition { std::pair mTransition; public: DeterministicTransition(std::pair const& transition) : mTransition(transition) { } DeterministicTransition(std::pair && 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; } }; } }