Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ValuationDescriptionBuilder.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
6
7namespace storm {
8namespace expressions {
9class Variable;
11} // namespace expressions
12
13namespace storage::sparse {
22 public:
24
25 ValuationDescriptionBuilder(std::shared_ptr<storm::expressions::ExpressionManager const> const& expressionManager);
26
28
32 void addBooleanVariable(storm::expressions::Variable const& variable, bool optional = false);
33
37 void addIntegerVariable(storm::expressions::Variable const& variable, int64_t const lowerBound, int64_t const upperBound, bool optional = false);
38
42 void addIntegerVariable(storm::expressions::Variable const& variable, Integer const lowerBound, Integer const upperBound, bool optional = false);
43
47 void addDoubleVariable(storm::expressions::Variable const& variable, bool optional = false);
48
52 void addRationalVariable(storm::expressions::Variable const& variable, uint64_t bitSize, bool optional = false);
53
57 void addStringVariable(storm::expressions::Variable const& variable, bool optional = false);
58
63
67 void addVariables(ValuationClassDescription const& description, bool addPadding = false);
68
73
74 private:
79 void assertAndCollectVariable(storm::expressions::Variable const& variable);
80
81 void finalize();
82 std::shared_ptr<storm::expressions::ExpressionManager const> const manager;
84 std::set<storm::expressions::Variable> addedVariables;
85};
86
87} // namespace storage::sparse
88} // namespace storm
This class is responsible for managing a set of typed variables and all expressions using these varia...
ValuationClassDescription buildClassDescription()
Creates the finalized state valuations object.
storm::expressions::ExpressionManager const & getManager() const
void addBooleanVariable(storm::expressions::Variable const &variable, bool optional=false)
Adds a new boolean variable to the builder.
storm::NumberTraits< storm::RationalNumber >::IntegerType Integer
ValuationDescriptionBuilder(std::shared_ptr< storm::expressions::ExpressionManager const > const &expressionManager)
void addRationalVariable(storm::expressions::Variable const &variable, uint64_t bitSize, bool optional=false)
Adds a new rational variable to the builder.
void addStringVariable(storm::expressions::Variable const &variable, bool optional=false)
Adds a new string variable to the builder.
void addIntegerVariable(storm::expressions::Variable const &variable, int64_t const lowerBound, int64_t const upperBound, bool optional=false)
Adds a new integer variable to the builder.
void addVariables(ValuationClassDescription const &description, bool addPadding=false)
Adds all variables from the given description.
void addVariable(ValuationClassDescription::Variable const &variable)
Adds the given variable.
void addDoubleVariable(storm::expressions::Variable const &variable, bool optional=false)
Adds a new double variable to the builder.
Describes the layout of a class of valuations (e.g.