12#ifndef MCRL2_MODAL_FORMULA_ADD_BINDING_H
13#define MCRL2_MODAL_FORMULA_ADD_BINDING_H
21namespace action_formulas
25template <
template <
class>
class Builder,
class Derived>
59template <
template <
class>
class Builder,
class Derived>
73 static_cast<Derived&
>(*this).enter(x);
74 static_cast<Derived&
>(*this).apply(x.
body());
75 static_cast<Derived&
>(*this).leave(x);
80template <
template <
class>
class Builder,
class Derived>
95 static_cast<Derived&
>(*this).enter(x);
97 static_cast<Derived&
>(*this).leave(x);
103namespace regular_formulas
107template <
template <
class>
class Builder,
class Derived>
121template <
template <
class>
class Builder,
class Derived>
135 static_cast<Derived&
>(*this).enter(x);
136 static_cast<Derived&
>(*this).apply(x.
body());
137 static_cast<Derived&
>(*this).leave(x);
142template <
template <
class>
class Builder,
class Derived>
157 static_cast<Derived&
>(*this).enter(x);
159 static_cast<Derived&
>(*this).leave(x);
165namespace state_formulas
169template <
template <
class>
class Builder,
class Derived>
203template <
template <
class>
class Builder,
class Derived>
217 static_cast<Derived&
>(*this).enter(x);
218 static_cast<Derived&
>(*this).apply(x.
body());
219 static_cast<Derived&
>(*this).leave(x);
224template <
template <
class>
class Builder,
class Derived>
239 static_cast<Derived&
>(*this).enter(x);
241 static_cast<Derived&
>(*this).leave(x);
246template <
template <
class>
class Builder,
class Derived>
Traverser that defines functions for maintaining bound variables.
const std::multiset< variable_type > & bound_variables() const
Returns the bound variables.
void decrease_bind_count(const variable_type &var)
Remove a variable from the multiset of bound variables.
void increase_bind_count(const variable_type &var)
Add a variable to the multiset of bound variables.
\brief A where expression
const data_expression & body() const
const assignment_expression_list & declarations() const
add your file description here.
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Maintains a multiset of bound data variables during traversal.
void decrease_bind_count(const assignment_list &assignments)
void enter(const action_summand &x)
void leave(const action_summand &x)
void increase_bind_count(const assignment_list &assignments)