#pragma once #include "storm/shields/AbstractShield.h" #include "storm/storage/PreScheduler.h" namespace tempest { namespace shields { template class PreSafetyShield : public AbstractShield { public: PreSafetyShield(std::vector const& rowGroupIndices, std::vector const& choiceValues, std::shared_ptr const& shieldingExpression, storm::OptimizationDirection optimizationDirection, storm::storage::BitVector relevantStates, boost::optional coalitionStates); storm::storage::PreScheduler construct(); template storm::storage::PreScheduler constructWithCompareType(); private: std::vector choiceValues; }; } }