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 class for internal storage and substitution updates using operator() More... | |
Public Types | |
typedef Substitution | super |
typedef super::variable_type | variable_type |
typedef super::expression_type | expression_type |
Public Member Functions | |
maintain_variables_in_rhs () | |
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 35 of file maintain_variables_in_rhs.h.
typedef super::expression_type mcrl2::data::maintain_variables_in_rhs< Substitution >::expression_type |
Definition at line 40 of file maintain_variables_in_rhs.h.
typedef Substitution mcrl2::data::maintain_variables_in_rhs< Substitution >::super |
Definition at line 38 of file maintain_variables_in_rhs.h.
typedef super::variable_type mcrl2::data::maintain_variables_in_rhs< Substitution >::variable_type |
Definition at line 39 of file maintain_variables_in_rhs.h.
|
inline |
Default constructor.
Definition at line 48 of file maintain_variables_in_rhs.h.
|
inline |
Clear substitutions.
Definition at line 113 of file maintain_variables_in_rhs.h.
|
inline |
Assigment operator.
v | The variable to which the assignment is carried out. |
Definition at line 107 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 127 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 120 of file maintain_variables_in_rhs.h.
|
protected |
Definition at line 44 of file maintain_variables_in_rhs.h.
|
protected |
Definition at line 43 of file maintain_variables_in_rhs.h.