|
mCRL2
|
Wrapper that extends any substitution to a substitution maintaining the vars in its rhs. More...
#include <maintain_variables_in_rhs.h>
Classes | |
| class | assignment |
| Wrapper clas s for internal storage and substitution updates using operator() More... | |
Public Types | |
| using | super = Substitution |
| using | variable_type = typename super::variable_type |
| using | expression_type = typename super::expression_type |
Public Member Functions | |
| maintain_variables_in_rhs ()=default | |
| Default constructor. | |
| assignment | operator[] (variable_type const &v) |
| Assigment operator. | |
| void | clear () |
| Clear substitutions. | |
| const std::multiset< variable > & | variables_in_rhs () |
| Provides a set of variables that occur in the right hand sides of the assignments. | |
| bool | variable_occurs_in_a_rhs (const variable_type &v) |
| Indicates whether a variable occurs in some rhs of this substitution. | |
Protected Attributes | |
| std::multiset< variable_type > | m_variables_in_rhs |
| std::set< variable_type > | m_scratch_set |
Wrapper that extends any substitution to a substitution maintaining the vars in its rhs.
This substitution assumes a function variable -> std::size_t, that, for each variable gives a unique index. The substitutions are stored internally as a vector, mapping std::size_t to expression. Provided that, given a variable, its index can be computed in O(1) time, insertion is O(1) amortized, and lookup is O(1). Memory required is O(n) where n is the largest index used.
Definition at line 33 of file maintain_variables_in_rhs.h.
| using mcrl2::data::maintain_variables_in_rhs< Substitution >::expression_type = typename super::expression_type |
Definition at line 38 of file maintain_variables_in_rhs.h.
| using mcrl2::data::maintain_variables_in_rhs< Substitution >::super = Substitution |
Definition at line 36 of file maintain_variables_in_rhs.h.
| using mcrl2::data::maintain_variables_in_rhs< Substitution >::variable_type = typename super::variable_type |
Definition at line 37 of file maintain_variables_in_rhs.h.
|
default |
Default constructor.
|
inline |
Clear substitutions.
Definition at line 111 of file maintain_variables_in_rhs.h.
|
inline |
Assigment operator.
| v | The variable to which the assignment is carried out. |
Definition at line 105 of file maintain_variables_in_rhs.h.
|
inline |
Indicates whether a variable occurs in some rhs of this substitution.
| v | The variable for which occurrence in a rhs is checked. |
Definition at line 125 of file maintain_variables_in_rhs.h.
|
inline |
Provides a set of variables that occur in the right hand sides of the assignments.
Definition at line 118 of file maintain_variables_in_rhs.h.
|
protected |
Definition at line 43 of file maintain_variables_in_rhs.h.
|
protected |
Definition at line 42 of file maintain_variables_in_rhs.h.