24template<
typename ValueType>
54 virtual std::unique_ptr<CheckResult>
clone()
const override;
89 virtual uint64_t
count()
const override;
91 virtual std::ostream&
writeToStream(std::ostream& out)
const override;
100 template<
typename JsonRationalType>
102 std::optional<storm::models::sparse::StateLabeling>
const& stateLabels = std::nullopt)
const;
105 bool hasValueType(std::type_info
const& t)
const override {
106 return t ==
typeid(ValueType);
120 template<
typename Function>
121 void forEachState(Function
const& f)
const {
123 for (uint64_t state : states) {
124 f(state, truthValues.
get(offset));
136 std::optional<std::shared_ptr<storm::storage::Scheduler<ValueType>>> scheduler;
bool hasValueType() const
Checks whether the ValueType of the result matches the given type.
A qualitative check result over the states of a sparse model.
virtual uint64_t count() const override
ExplicitQualitativeCheckResult(ExplicitQualitativeCheckResult const &other)=default
virtual bool forallTrue() const override
bool hasValueForState(storm::storage::sparse::state_type state) const
Retrieves whether the result holds a truth value for the given state.
storm::storage::Scheduler< ValueType > const & getScheduler() const
virtual bool isResultForAllStates() const override
virtual void filter(QualitativeCheckResult const &filter) override
Filters the current result wrt.
storm::json< JsonRationalType > toJson(std::optional< storm::storage::sparse::Valuations > const &stateValuations=std::nullopt, std::optional< storm::models::sparse::StateLabeling > const &stateLabels=std::nullopt) const
storm::storage::BitVector vector_type
virtual void complement() override
ExplicitQualitativeCheckResult & operator=(ExplicitQualitativeCheckResult &&other)=default
virtual bool isExplicit() const override
virtual QualitativeCheckResult & operator&=(QualitativeCheckResult const &other) override
virtual ~ExplicitQualitativeCheckResult()=default
virtual std::unique_ptr< CheckResult > clone() const override
storm::storage::BitVector const & getStates() const
Retrieves the states this result holds truth values for.
virtual bool hasScheduler() const override
virtual QualitativeCheckResult & operator|=(QualitativeCheckResult const &other) override
ExplicitQualitativeCheckResult(ExplicitQualitativeCheckResult &&other)=default
virtual bool existsTrue() const override
ExplicitQualitativeCheckResult & operator=(ExplicitQualitativeCheckResult const &other)=default
void setScheduler(std::unique_ptr< storm::storage::Scheduler< ValueType > > &&scheduler)
ExplicitQualitativeCheckResult(storm::storage::sparse::state_type state, bool value)
Creates a result that holds the given truth value for the given state only.
vector_type const & getTruthValuesVector() const
Retrieves the truth values, one per state this result is for.
virtual bool isExplicitQualitativeCheckResult() const override
virtual std::ostream & writeToStream(std::ostream &out) const override
bool operator[](storm::storage::sparse::state_type state) const
Retrieves the truth value of the given state.
A bit vector that is internally represented as a vector of 64-bit values.
bool get(uint64_t index) const
Retrieves the truth value of the bit at the given index and performs a bound check.
This class defines which action is chosen in a particular state of a non-deterministic model.
nlohmann::basic_json< std::map, std::vector, std::string, bool, int64_t, uint64_t, ValueType > json