12#ifndef MCRL2_DATA_REWRITE_H
13#define MCRL2_DATA_REWRITE_H
24template <
template <
class>
class Builder,
class Rewriter>
27 typedef Builder<rewrite_data_expressions_builder<Builder, Rewriter> >
super;
46template <
template <
class>
class Builder,
class Rewriter>
47rewrite_data_expressions_builder<Builder, Rewriter>
53template <
template <
class>
class Builder,
class Rewriter,
class Substitution>
56 typedef Builder<rewrite_data_expressions_with_substitution_builder<Builder, Rewriter, Substitution> >
super;
77template <
template <
class>
class Builder,
class Rewriter,
class Substitution>
78rewrite_data_expressions_with_substitution_builder<Builder, Rewriter, Substitution>
90template <
typename T,
typename Rewriter>
93 typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
96 data::detail::make_rewrite_data_expressions_builder<data::data_expression_builder>(R).update(x);
103template <
typename T,
typename Rewriter>
106 typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
110 data::detail::make_rewrite_data_expressions_builder<data::data_expression_builder>(R).apply(result, x);
118template <
typename T,
typename Rewriter,
typename Substitution>
121 const Substitution&
sigma,
122 typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
125 data::detail::make_rewrite_data_expressions_with_substitution_builder<data::data_expression_builder>(R,
sigma).update(x);
133template <
typename T,
typename Rewriter,
typename Substitution>
136 const Substitution&
sigma,
137 typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type* =
nullptr
141 data::detail::make_rewrite_data_expressions_with_substitution_builder<data::data_expression_builder>(R,
sigma).apply(result, x);
Rewriter interface class.
add your file description here.
static RewriterCompilingJitty::substitution_type & sigma(RewriterCompilingJitty *this_rewriter)
rewrite_data_expressions_with_substitution_builder< Builder, Rewriter, Substitution > make_rewrite_data_expressions_with_substitution_builder(Rewriter R, Substitution sigma)
rewrite_data_expressions_builder< Builder, Rewriter > make_rewrite_data_expressions_builder(Rewriter R)
void rewrite(T &x, Rewriter R, typename std::enable_if<!std::is_base_of< atermpp::aterm, T >::value >::type *=nullptr)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
rewrite_data_expressions_builder(Rewriter R_)
Builder< rewrite_data_expressions_builder< Builder, Rewriter > > super
void apply(T &result, const data_expression &x)
void apply(T &result, const data_expression &x)
Builder< rewrite_data_expressions_with_substitution_builder< Builder, Rewriter, Substitution > > super
rewrite_data_expressions_with_substitution_builder(Rewriter R_, Substitution sigma_)