#include "src/abstraction/AbstractionExpressionInformation.h" #include "src/storage/expressions/ExpressionManager.h" #include "src/storage/expressions/Expression.h" namespace storm { namespace abstraction { AbstractionExpressionInformation::AbstractionExpressionInformation(storm::expressions::ExpressionManager& manager, std::vector const& predicates, std::set const& variables, std::vector const& rangeExpressions) : manager(manager), predicates(predicates), variables(variables), rangeExpressions(rangeExpressions) { // Intentionally left empty. } void AbstractionExpressionInformation::addPredicate(storm::expressions::Expression const& predicate) { predicates.push_back(predicate); } void AbstractionExpressionInformation::addPredicates(std::vector const& predicates) { for (auto const& predicate : predicates) { this->addPredicate(predicate); } } storm::expressions::ExpressionManager& AbstractionExpressionInformation::getManager() { return manager; } storm::expressions::ExpressionManager const& AbstractionExpressionInformation::getManager() const { return manager; } std::vector& AbstractionExpressionInformation::getPredicates() { return predicates; } std::vector const& AbstractionExpressionInformation::getPredicates() const { return predicates; } storm::expressions::Expression const& AbstractionExpressionInformation::getPredicateByIndex(uint_fast64_t index) const { return predicates[index]; } std::size_t AbstractionExpressionInformation::getNumberOfPredicates() const { return predicates.size(); } std::set& AbstractionExpressionInformation::getVariables() { return variables; } std::set const& AbstractionExpressionInformation::getVariables() const { return variables; } std::vector& AbstractionExpressionInformation::getRangeExpressions() { return rangeExpressions; } std::vector const& AbstractionExpressionInformation::getRangeExpressions() const { return rangeExpressions; } } }