52 lines
823 B
52 lines
823 B
/*
|
|
* 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_ */
|