11#ifndef MCRL2_DATA_DETAIL_REWRITE_STRATEGY_RULE_H
12#define MCRL2_DATA_DETAIL_REWRITE_STRATEGY_RULE_H
96 strategy(
size_t n,
const std::vector<strategy_rule>& r)
113 const std::vector<strategy_rule>&
rules()
const
Is either a rewrite rule to be matched or an index that should be rewritten.
std::function< void(data_expression &, const data_expression &)> m_cpp_function
strategy_rule(const std::function< void(data_expression &, const data_expression &)> f)
bool is_rewrite_index() const
data_equation m_rewrite_rule
const std::function< void(data_expression &, const data_expression &)> rewrite_cpp_code() const
const data_equation & equation() const
enum mcrl2::data::detail::strategy_rule::@0 m_strategy_element_type
std::size_t rewrite_index() const
strategy_rule(const data_equation &eq)
strategy_rule(const std::size_t n)
A strategy is a list of rules and the number of variables that occur in it.
std::size_t number_of_variables() const
Provides the maximal number of variables used in the rewrite rules making up this strategy.
const std::vector< strategy_rule > & rules() const
Yield the rules of the strategy.
strategy(size_t n, const std::vector< strategy_rule > &r)
Default constructor.
strategy()
Default constructor.
std::vector< strategy_rule > m_rules
std::size_t m_number_of_variables
strategy create_strategy(data_equation_list rules)
Creates a strategy for given set of rewrite rules with head symbol f.
bool is_data_equation(const atermpp::aterm &t)
Recognizer function.
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...