You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
1.2 KiB

  1. #pragma once
  2. #include "storm/storage/jani/Variable.h"
  3. namespace storm {
  4. namespace jani {
  5. class BooleanVariable : public Variable {
  6. public:
  7. /*!
  8. * Creates a Boolean variable with initial value
  9. */
  10. BooleanVariable(std::string const& name, storm::expressions::Variable const& variable);
  11. /*!
  12. * Creates a Boolean variable with initial value
  13. */
  14. BooleanVariable(std::string const& name, storm::expressions::Variable const& variable, storm::expressions::Expression const& initialValue, bool transient=false);
  15. virtual std::unique_ptr<Variable> clone() const override;
  16. virtual bool isBooleanVariable() const override;
  17. };
  18. /**
  19. * Convenience function to call the appropriate constructor and return a shared pointer to the variable.
  20. */
  21. std::shared_ptr<BooleanVariable> makeBooleanVariable(std::string const& name, storm::expressions::Variable const& variable, boost::optional<storm::expressions::Expression> initValue, bool transient);
  22. }
  23. }