mCRL2
Loading...
Searching...
No Matches
mcrl2::data::used_data_equation_selector Class Reference

Component for selecting a subset of equations that are actually used in an encompassing specification. More...

#include <selection.h>

Public Member Functions

bool operator() (const data::function_symbol &f) const
 Check whether the symbol is used.
 
bool operator() (const data_equation &e) const
 Check whether data equation relates to used symbols, and therefore is important.
 
void add_function_symbols (const data_expression &t)
 
 used_data_equation_selector ()
 default constructor
 
template<typename Range >
 used_data_equation_selector (data_specification const &data_spec, Range const &context)
 context is a range of function symbols
 
 used_data_equation_selector (const data_specification &specification, const std::set< function_symbol > &function_symbols, const std::set< data::variable > &global_variables, const bool do_not_remove_function_symbols)
 
 used_data_equation_selector (const data_specification &)
 select all equations
 

Protected Member Functions

void add_data_specification_symbols (const data_specification &specification)
 

Private Member Functions

void add_symbol (const function_symbol &f)
 
template<typename Range >
void add_symbols (Range const &r)
 

Private Attributes

std::set< function_symbolm_used_symbols
 
bool add_all
 

Detailed Description

Component for selecting a subset of equations that are actually used in an encompassing specification.

This component can be used with the constructor of data::rewriter derived classes to select a smaller set of equations that are used as rewrite rules. This limited set of rewrite rules should be enough for the purpose of rewriting objects that occur in the encompassing specification (the context).

Note
Use of this component can have a dramatic effect of rewriter initialisation time and overall performance.

Definition at line 36 of file selection.h.

Constructor & Destructor Documentation

◆ used_data_equation_selector() [1/4]

mcrl2::data::used_data_equation_selector::used_data_equation_selector ( )
inline

default constructor

Definition at line 152 of file selection.h.

◆ used_data_equation_selector() [2/4]

template<typename Range >
mcrl2::data::used_data_equation_selector::used_data_equation_selector ( data_specification const &  data_spec,
Range const &  context 
)
inline

context is a range of function symbols

Definition at line 158 of file selection.h.

◆ used_data_equation_selector() [3/4]

mcrl2::data::used_data_equation_selector::used_data_equation_selector ( const data_specification specification,
const std::set< function_symbol > &  function_symbols,
const std::set< data::variable > &  global_variables,
const bool  do_not_remove_function_symbols 
)
inline

Definition at line 165 of file selection.h.

◆ used_data_equation_selector() [4/4]

mcrl2::data::used_data_equation_selector::used_data_equation_selector ( const data_specification )
inline

select all equations

Definition at line 182 of file selection.h.

Member Function Documentation

◆ add_data_specification_symbols()

void mcrl2::data::used_data_equation_selector::add_data_specification_symbols ( const data_specification specification)
inlineprotected

Definition at line 56 of file selection.h.

◆ add_function_symbols()

void mcrl2::data::used_data_equation_selector::add_function_symbols ( const data_expression t)
inline

Definition at line 146 of file selection.h.

◆ add_symbol()

void mcrl2::data::used_data_equation_selector::add_symbol ( const function_symbol f)
inlineprivate

Definition at line 44 of file selection.h.

◆ add_symbols()

template<typename Range >
void mcrl2::data::used_data_equation_selector::add_symbols ( Range const &  r)
inlineprivate

Definition at line 50 of file selection.h.

◆ operator()() [1/2]

bool mcrl2::data::used_data_equation_selector::operator() ( const data::function_symbol f) const
inline

Check whether the symbol is used.

Definition at line 122 of file selection.h.

◆ operator()() [2/2]

bool mcrl2::data::used_data_equation_selector::operator() ( const data_equation e) const
inline

Check whether data equation relates to used symbols, and therefore is important.

Definition at line 132 of file selection.h.

Member Data Documentation

◆ add_all

bool mcrl2::data::used_data_equation_selector::add_all
private

Definition at line 42 of file selection.h.

◆ m_used_symbols

std::set< function_symbol > mcrl2::data::used_data_equation_selector::m_used_symbols
private

Definition at line 40 of file selection.h.


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