2#include <boost/optional.hpp>
3#include <boost/variant.hpp>
18namespace modelchecker {
20class ExplicitQualitativeCheckResult;
22template<
typename ValueType>
26 typedef std::map<storm::storage::sparse::state_type, ValueType>
map_type;
49 virtual std::unique_ptr<CheckResult>
clone()
const override;
65 virtual std::ostream&
writeToStream(std::ostream& out)
const override;
71 virtual ValueType
getMin()
const override;
72 virtual ValueType
getMax()
const override;
73 virtual std::pair<ValueType, ValueType>
getMinMax()
const;
74 virtual ValueType
average()
const override;
75 virtual ValueType
sum()
const override;
83 std::optional<storm::models::sparse::StateLabeling>
const& stateLabels = std::nullopt)
const;
87 boost::variant<vector_type, map_type> values;
90 boost::optional<std::shared_ptr<storm::storage::Scheduler<ValueType>>> scheduler;
virtual std::ostream & writeToStream(std::ostream &out) const override
virtual bool hasScheduler() const override
virtual std::unique_ptr< CheckResult > clone() const override
storm::storage::Scheduler< ValueType > const & getScheduler() const
std::map< storm::storage::sparse::state_type, ValueType > map_type
map_type const & getValueMap() const
ValueType & operator[](storm::storage::sparse::state_type state)
virtual ValueType getMin() const override
ExplicitQuantitativeCheckResult & operator=(ExplicitQuantitativeCheckResult const &other)=default
ExplicitQuantitativeCheckResult()
ExplicitQuantitativeCheckResult(ExplicitQuantitativeCheckResult &&other)=default
storm::json< ValueType > toJson(std::optional< storm::storage::sparse::StateValuations > const &stateValuations=std::nullopt, std::optional< storm::models::sparse::StateLabeling > const &stateLabels=std::nullopt) const
virtual ~ExplicitQuantitativeCheckResult()=default
virtual bool isResultForAllStates() const override
virtual bool isExplicit() const override
virtual bool isExplicitQuantitativeCheckResult() const override
virtual ValueType sum() const override
ExplicitQuantitativeCheckResult(ExplicitQuantitativeCheckResult const &other)=default
virtual void oneMinus() override
virtual ValueType getMax() const override
std::vector< ValueType > vector_type
virtual std::pair< ValueType, ValueType > getMinMax() const
virtual void filter(QualitativeCheckResult const &filter) override
Filters the current result wrt.
vector_type const & getValueVector() const
void setScheduler(std::unique_ptr< storm::storage::Scheduler< ValueType > > &&scheduler)
ExplicitQuantitativeCheckResult & operator=(ExplicitQuantitativeCheckResult &&other)=default
virtual ValueType average() const override
virtual std::unique_ptr< CheckResult > compareAgainstBound(storm::logic::ComparisonType comparisonType, ValueType const &bound) const override
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