mCRL2
Loading...
Searching...
No Matches
mcrl2::data::mutable_substitution_composer< Substitution > Class Template Reference

An adapter that makes an arbitrary substitution function mutable. More...

#include <mutable_substitution_composer.h>

Public Types

using variable_type = typename Substitution::variable_type
 type used to represent variables.
 
using expression_type = typename Substitution::expression_type
 type used to represent expressions.
 
using assignment = typename mutable_map_substitution< std::map< variable_type, expression_type > >::assignment
 Wrapper class for internal storage and substitution updates using operator().
 
using substitution_type = Substitution
 The type of the wrapped substitution.
 
using argument_type = variable_type
 
using result_type = expression_type
 

Public Member Functions

 mutable_substitution_composer (const Substitution &f)
 Constructor.
 
expression_type operator() (variable_type const &v) const
 Apply on single single variable expression.
 
assignment operator[] (variable_type const &v)
 
const substitution_typesubstitution () const
 Returns the wrapped substitution.
 

Protected Attributes

const Substitution & f_
 The wrapped substitution.
 
mutable_map_substitution< std::map< variable_type, expression_type > > g_
 An additional mutable substitution.
 

Detailed Description

template<typename Substitution>
class mcrl2::data::mutable_substitution_composer< Substitution >

An adapter that makes an arbitrary substitution function mutable.

Definition at line 25 of file mutable_substitution_composer.h.

Member Typedef Documentation

◆ argument_type

template<typename Substitution >
using mcrl2::data::mutable_substitution_composer< Substitution >::argument_type = variable_type

Definition at line 40 of file mutable_substitution_composer.h.

◆ assignment

template<typename Substitution >
using mcrl2::data::mutable_substitution_composer< Substitution >::assignment = typename mutable_map_substitution<std::map<variable_type, expression_type> >::assignment

Wrapper class for internal storage and substitution updates using operator().

Definition at line 35 of file mutable_substitution_composer.h.

◆ expression_type

template<typename Substitution >
using mcrl2::data::mutable_substitution_composer< Substitution >::expression_type = typename Substitution::expression_type

type used to represent expressions.

Definition at line 32 of file mutable_substitution_composer.h.

◆ result_type

template<typename Substitution >
using mcrl2::data::mutable_substitution_composer< Substitution >::result_type = expression_type

Definition at line 41 of file mutable_substitution_composer.h.

◆ substitution_type

template<typename Substitution >
using mcrl2::data::mutable_substitution_composer< Substitution >::substitution_type = Substitution

The type of the wrapped substitution.

Definition at line 38 of file mutable_substitution_composer.h.

◆ variable_type

template<typename Substitution >
using mcrl2::data::mutable_substitution_composer< Substitution >::variable_type = typename Substitution::variable_type

type used to represent variables.

Definition at line 29 of file mutable_substitution_composer.h.

Constructor & Destructor Documentation

◆ mutable_substitution_composer()

template<typename Substitution >
mcrl2::data::mutable_substitution_composer< Substitution >::mutable_substitution_composer ( const Substitution &  f)
inline

Constructor.

Definition at line 52 of file mutable_substitution_composer.h.

Member Function Documentation

◆ operator()()

template<typename Substitution >
expression_type mcrl2::data::mutable_substitution_composer< Substitution >::operator() ( variable_type const &  v) const
inline

Apply on single single variable expression.

Parameters
[in]vthe variable for which to give the associated expression.
Returns
expression equivalent to s(e), or a reference to such an expression.

Definition at line 59 of file mutable_substitution_composer.h.

◆ operator[]()

template<typename Substitution >
assignment mcrl2::data::mutable_substitution_composer< Substitution >::operator[] ( variable_type const &  v)
inline

Definition at line 64 of file mutable_substitution_composer.h.

◆ substitution()

template<typename Substitution >
const substitution_type & mcrl2::data::mutable_substitution_composer< Substitution >::substitution ( ) const
inline

Returns the wrapped substitution.

Returns
The wrapped substitution.

Definition at line 71 of file mutable_substitution_composer.h.

Member Data Documentation

◆ f_

template<typename Substitution >
const Substitution& mcrl2::data::mutable_substitution_composer< Substitution >::f_
protected

The wrapped substitution.

Definition at line 45 of file mutable_substitution_composer.h.

◆ g_

template<typename Substitution >
mutable_map_substitution<std::map<variable_type, expression_type> > mcrl2::data::mutable_substitution_composer< Substitution >::g_
protected

An additional mutable substitution.

Definition at line 48 of file mutable_substitution_composer.h.


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