diff --git a/src/storm/storage/SchedulerClass.cpp b/src/storm/storage/SchedulerClass.cpp new file mode 100644 index 000000000..b8e04bc1a --- /dev/null +++ b/src/storm/storage/SchedulerClass.cpp @@ -0,0 +1,40 @@ +#include "storm/storage/SchedulerClass.h" + +namespace storm { + namespace storage { + SchedulerClass::SchedulerClass() : deterministic(false), memorystates(0) { + // Intentionally left empty + } + + bool SchedulerClass::isDeterministic() const { + return deterministic; + } + + bool SchedulerClass::isMemoryBounded() const { + return memorystates > 0; + } + + uint64_t SchedulerClass::getMemoryStates() const { + assert(isMemoryBounded()); + } + + + SchedulerClass& SchedulerClass::setIsDeterministic(bool value) { + deterministic = value; + return *this; + } + + SchedulerClass& SchedulerClass::setMemoryStates(uint64_t value) { + assert(value > 0); + memorystates = value; + return *this; + } + + SchedulerClass& SchedulerClass::unsetMemoryStates() { + memorystates = 0; + return *this; + } + + + } +} diff --git a/src/storm/storage/SchedulerClass.h b/src/storm/storage/SchedulerClass.h new file mode 100644 index 000000000..65cba7263 --- /dev/null +++ b/src/storm/storage/SchedulerClass.h @@ -0,0 +1,23 @@ +#pragma once + +namespace storm { + namespace storage { + class SchedulerClass { + public: + SchedulerClass(); + + bool isDeterministic() const; + bool isMemoryBounded() const; + uint64_t getMemoryStates() const; + + + SchedulerClass& setIsDeterministic(bool value); + SchedulerClass& setMemoryStates(uint64_t value); + SchedulerClass& unsetMemoryStates(); + + private: + bool deterministic; + uint64_t memorystates; + }; + } +}