/* * Action.h * * Created on: Apr 26, 2014 * Author: Manuel Sascha Weiand */ #ifndef STORM_FORMULA_ACTION_ACTION_H_ #define STORM_FORMULA_ACTION_ACTION_H_ #include <vector> #include "src/storage/BitVector.h" namespace storm { namespace property { namespace action { template <class T> class Action { public: /*! * Virtual destructor * To ensure that the right destructor is called */ virtual ~Action() { //Intentionally left empty } /*! * */ virtual std::vector<T> evaluate(std::vector<T> input) const = 0; /*! * */ virtual storm::storage::BitVector<T> evaluate(storm::storage::BitVector<T> input) const = 0; /*! * */ virtual std::string toString() const = 0; }; } //namespace action } //namespace property } //namespace storm #endif /* STORM_FORMULA_ACTION_ACTION_H_ */