Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
TemplateEdgeDestination.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace storm {
6namespace jani {
7
9 public:
12 TemplateEdgeDestination(Assignment const& assignment);
13 TemplateEdgeDestination(std::vector<Assignment> const& assignments);
14
18 void substitute(std::map<storm::expressions::Variable, storm::expressions::Expression> const& substitution, bool const substituteTranscendentalNumbers);
19
23 void changeAssignmentVariables(std::map<Variable const*, std::reference_wrapper<Variable const>> const& remapping);
24
27
28 // Convenience methods to access the assignments.
29 bool hasAssignment(Assignment const& assignment) const;
30 bool removeAssignment(Assignment const& assignment);
31 void addAssignment(Assignment const& assignment, bool addToExisting = false);
32
36 bool hasTransientAssignment() const;
37
41 bool usesAssignmentLevels(bool onlyTransient = false) const;
42
47 bool hasAssignments() const;
51 bool isLinear() const;
52
56 TemplateEdgeDestination simplifyIndexedAssignments(bool syncronized, VariableSet const& localVars) const;
57
58 private:
59 // The (ordered) assignments to make when choosing this destination.
60 OrderedAssignments assignments;
61};
62
63} // namespace jani
64} // namespace storm
void substitute(std::map< storm::expressions::Variable, storm::expressions::Expression > const &substitution, bool const substituteTranscendentalNumbers)
Substitutes all variables in all expressions according to the given substitution.
bool hasAssignment(Assignment const &assignment) const
TemplateEdgeDestination simplifyIndexedAssignments(bool syncronized, VariableSet const &localVars) const
Simplify Indexed Assignments.
void changeAssignmentVariables(std::map< Variable const *, std::reference_wrapper< Variable const > > const &remapping)
Changes all variables in assignments based on the given mapping.
OrderedAssignments const & getOrderedAssignments() const
bool hasTransientAssignment() const
Retrieves whether this destination has transient assignments.
bool removeAssignment(Assignment const &assignment)
bool usesAssignmentLevels(bool onlyTransient=false) const
Retrieves whether the edge uses an assignment level other than zero.
bool isLinear() const
Checks the template edge destination for linearity.
void addAssignment(Assignment const &assignment, bool addToExisting=false)
bool hasAssignments() const
Checks whether the templ.
LabParser.cpp.
Definition cli.cpp:18