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.

33 lines
1.0 KiB

  1. #ifndef STORM_STORAGE_TOTALSCHEDULER_H_
  2. #define STORM_STORAGE_TOTALSCHEDULER_H_
  3. #include <vector>
  4. #include <ostream>
  5. #include "src/storage/Scheduler.h"
  6. namespace storm {
  7. namespace storage {
  8. class TotalScheduler : public Scheduler {
  9. public:
  10. TotalScheduler(uint_fast64_t numberOfStates);
  11. TotalScheduler(std::vector<uint_fast64_t> const& choices);
  12. void setChoice(uint_fast64_t state, uint_fast64_t choice) override;
  13. bool isChoiceDefined(uint_fast64_t state) const override;
  14. uint_fast64_t getChoice(uint_fast64_t state) const override;
  15. friend std::ostream& operator<<(std::ostream& out, TotalScheduler const& scheduler);
  16. private:
  17. // A vector that stores the choice for each state.
  18. std::vector<uint_fast64_t> choices;
  19. };
  20. } // namespace storage
  21. } // namespace storm
  22. #endif /* STORM_STORAGE_TOTALSCHEDULER_H_ */