#pragma once #include #include #include #include "storm/storage/expressions/Expression.h" namespace storm { namespace abstraction { class RefinementCommand { public: /*! * Creates a new refinement command for the given player 1 choice. */ RefinementCommand(uint64_t referencedPlayer1Choice, std::vector const& predicates); /*! * Creates a new refinement command for all player 1 choices. */ RefinementCommand(std::vector const& predicates); /// Access to the details of this refinement commands. bool refersToPlayer1Choice() const; uint64_t getReferencedPlayer1Choice() const; std::vector const& getPredicates() const; private: boost::optional referencedPlayer1Choice; std::vector predicates; }; } }