mCRL2
Loading...
Searching...
No Matches
mcrl2::data::detail::replace_constants_by_variables_builder< Builder > Struct Template Reference

Replace each constant data application c by a fresh variable v, and add extend the substitution sigma with the assignment v := r(c). This can be used in rewriting, to avoid that c is rewritten by the rewriter multiple times. More...

#include <replace_constants_by_variables.h>

Inheritance diagram for mcrl2::data::detail::replace_constants_by_variables_builder< Builder >:

Public Types

typedef Builder< replace_constants_by_variables_builder< Builder > > super
 

Public Member Functions

bool is_constant (const data::data_expression &x) const
 
 replace_constants_by_variables_builder (const data::rewriter &r_, data::mutable_indexed_substitution<> &sigma_)
 
template<class T >
void apply (T &result, const data::application &x)
 

Public Attributes

data::set_identifier_generator id_generator
 
std::unordered_map< data::data_expression, data::variablesubstitutions
 
const data::rewriterr
 
data::mutable_indexed_substitutionsigma
 

Detailed Description

template<template< class > class Builder>
struct mcrl2::data::detail::replace_constants_by_variables_builder< Builder >

Replace each constant data application c by a fresh variable v, and add extend the substitution sigma with the assignment v := r(c). This can be used in rewriting, to avoid that c is rewritten by the rewriter multiple times.

Definition at line 28 of file replace_constants_by_variables.h.

Member Typedef Documentation

◆ super

template<template< class > class Builder>
typedef Builder<replace_constants_by_variables_builder<Builder> > mcrl2::data::detail::replace_constants_by_variables_builder< Builder >::super

Definition at line 30 of file replace_constants_by_variables.h.

Constructor & Destructor Documentation

◆ replace_constants_by_variables_builder()

template<template< class > class Builder>
mcrl2::data::detail::replace_constants_by_variables_builder< Builder >::replace_constants_by_variables_builder ( const data::rewriter r_,
data::mutable_indexed_substitution<> &  sigma_ 
)
inline

Definition at line 44 of file replace_constants_by_variables.h.

Member Function Documentation

◆ apply()

template<template< class > class Builder>
template<class T >
void mcrl2::data::detail::replace_constants_by_variables_builder< Builder >::apply ( T &  result,
const data::application x 
)
inline

Definition at line 49 of file replace_constants_by_variables.h.

◆ is_constant()

template<template< class > class Builder>
bool mcrl2::data::detail::replace_constants_by_variables_builder< Builder >::is_constant ( const data::data_expression x) const
inline

Definition at line 39 of file replace_constants_by_variables.h.

Member Data Documentation

◆ id_generator

template<template< class > class Builder>
data::set_identifier_generator mcrl2::data::detail::replace_constants_by_variables_builder< Builder >::id_generator

Definition at line 34 of file replace_constants_by_variables.h.

◆ r

template<template< class > class Builder>
const data::rewriter& mcrl2::data::detail::replace_constants_by_variables_builder< Builder >::r

Definition at line 36 of file replace_constants_by_variables.h.

◆ sigma

template<template< class > class Builder>
data::mutable_indexed_substitution& mcrl2::data::detail::replace_constants_by_variables_builder< Builder >::sigma

Definition at line 37 of file replace_constants_by_variables.h.

◆ substitutions

template<template< class > class Builder>
std::unordered_map<data::data_expression, data::variable> mcrl2::data::detail::replace_constants_by_variables_builder< Builder >::substitutions

Definition at line 35 of file replace_constants_by_variables.h.


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