#ifndef STORM_GENERATOR_DFTNEXTSTATEGENERATOR_H_ #define STORM_GENERATOR_DFTNEXTSTATEGENERATOR_H_ #include "src/generator/NextStateGenerator.h" #include "src/storage/dft/DFT.h" #include "src/utility/ConstantsComparator.h" namespace storm { namespace generator { template class DftNextStateGenerator : public NextStateGenerator>, StateType> { public: typedef typename NextStateGenerator>, StateType>::StateToIdCallback StateToIdCallback; DftNextStateGenerator(storm::storage::DFT const& dft); virtual bool isDeterministicModel() const override; virtual std::vector getInitialStates(StateToIdCallback const& stateToIdCallback) override; virtual void load(std::shared_ptr> const& state) override; virtual StateBehavior expand(StateToIdCallback const& stateToIdCallback) override; virtual bool satisfies(storm::expressions::Expression const& expression) const override; private: // The program used for the generation of next states. storm::storage::DFT const& mDft; CompressedState const* state; // A comparator used to compare constants. storm::utility::ConstantsComparator comparator; }; } } #endif /* STORM_GENERATOR_DFTNEXTSTATEGENERATOR_H_ */