mCRL2
Loading...
Searching...
No Matches
mcrl2::data::detail::strategy_rule Class Reference

Is either a rewrite rule to be matched or an index that should be rewritten. More...

#include <strategy_rule.h>

Public Member Functions

 strategy_rule (const std::size_t n)
 
 strategy_rule (const std::function< void(data_expression &, const data_expression &)> f)
 
 strategy_rule (const data_equation &eq)
 
bool is_rewrite_index () const
 
bool is_cpp_code () const
 
bool is_equation () const
 
const data_equationequation () const
 
std::size_t rewrite_index () const
 
std::function< void(data_expression &, const data_expression &)> rewrite_cpp_code () const
 

Protected Types

enum  { data_equation_type , rewrite_index_type , cpp_function_type }
 

Protected Attributes

enum mcrl2::data::detail::strategy_rule:: { ... }  m_strategy_element_type
 
data_equation m_rewrite_rule
 
size_t m_rewrite_index = 0UL
 
std::function< void(data_expression &, const data_expression &)> m_cpp_function
 

Detailed Description

Is either a rewrite rule to be matched or an index that should be rewritten.

Definition at line 22 of file strategy_rule.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
data_equation_type 
rewrite_index_type 
cpp_function_type 

Definition at line 28 of file strategy_rule.h.

Constructor & Destructor Documentation

◆ strategy_rule() [1/3]

mcrl2::data::detail::strategy_rule::strategy_rule ( const std::size_t  n)
inline

Definition at line 34 of file strategy_rule.h.

◆ strategy_rule() [2/3]

mcrl2::data::detail::strategy_rule::strategy_rule ( const std::function< void(data_expression &, const data_expression &)>  f)
inline

Definition at line 39 of file strategy_rule.h.

◆ strategy_rule() [3/3]

mcrl2::data::detail::strategy_rule::strategy_rule ( const data_equation eq)
inline

Definition at line 44 of file strategy_rule.h.

Member Function Documentation

◆ equation()

const data_equation & mcrl2::data::detail::strategy_rule::equation ( ) const
inline

Definition at line 65 of file strategy_rule.h.

◆ is_cpp_code()

bool mcrl2::data::detail::strategy_rule::is_cpp_code ( ) const
inline

Definition at line 54 of file strategy_rule.h.

◆ is_equation()

bool mcrl2::data::detail::strategy_rule::is_equation ( ) const
inline

Definition at line 60 of file strategy_rule.h.

◆ is_rewrite_index()

bool mcrl2::data::detail::strategy_rule::is_rewrite_index ( ) const
inline

Definition at line 49 of file strategy_rule.h.

◆ rewrite_cpp_code()

std::function< void(data_expression &, const data_expression &)> mcrl2::data::detail::strategy_rule::rewrite_cpp_code ( ) const
inline

Definition at line 78 of file strategy_rule.h.

◆ rewrite_index()

std::size_t mcrl2::data::detail::strategy_rule::rewrite_index ( ) const
inline

Definition at line 72 of file strategy_rule.h.

Member Data Documentation

◆ m_cpp_function

std::function<void(data_expression&, const data_expression&)> mcrl2::data::detail::strategy_rule::m_cpp_function
protected

Definition at line 31 of file strategy_rule.h.

◆ m_rewrite_index

size_t mcrl2::data::detail::strategy_rule::m_rewrite_index = 0UL
protected

Definition at line 30 of file strategy_rule.h.

◆ m_rewrite_rule

data_equation mcrl2::data::detail::strategy_rule::m_rewrite_rule
protected

Definition at line 29 of file strategy_rule.h.

◆ []

enum { ... } mcrl2::data::detail::strategy_rule::m_strategy_element_type

The documentation for this class was generated from the following file: