#ifndef STORM_SETTINGS_MODULES_BISIMULATIONSETTINGS_H_ #define STORM_SETTINGS_MODULES_BISIMULATIONSETTINGS_H_ #include "src/settings/modules/ModuleSettings.h" namespace storm { namespace settings { namespace modules { /*! * This class represents the bisimulation settings. */ class BisimulationSettings : public ModuleSettings { public: // An enumeration of all available bisimulation types. enum class BisimulationType { Strong, Weak }; /*! * Creates a new set of bisimulation settings that is managed by the given manager. * * @param settingsManager The responsible manager. */ BisimulationSettings(storm::settings::SettingsManager& settingsManager); /*! * Retrieves whether strong bisimulation is to be used. * * @return True iff strong bisimulation is to be used. */ bool isStrongBisimulationSet() const; /*! * Retrieves whether weak bisimulation is to be used. * * @return True iff weak bisimulation is to be used. */ bool isWeakBisimulationSet() const; // The name of the module. static const std::string moduleName; private: // Define the string names of the options as constants. static const std::string typeOptionName; }; } // namespace modules } // namespace settings } // namespace storm #endif /* STORM_SETTINGS_MODULES_BISIMULATIONSETTINGS_H_ */