Include file:

#include "mcrl2/data/substitutions/mutable_substitution_composer.h
class mcrl2::data::mutable_substitution_composer

An adapter that makes an arbitrary substitution function mutable.

Public types

type assignment

typedef for mutable_map_substitution< std::map< variable_type, expression_type > >::assignment

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

type expression_type

typedef for Substitution::expression_type

type used to represent expressions.

type substitution_type

typedef for Substitution

The type of the wrapped substitution.

type variable_type

typedef for Substitution::variable_type

type used to represent variables.

Protected attributes

const Substitution &f_

The wrapped substitution.

mutable_map_substitution<std::map<variable_type, expression_type>> g_

An additional mutable substitution.

Public member functions

mutable_substitution_composer(const Substitution &f)


expression_type operator()(variable_type const &v) const

Apply on single single variable expression.


  • v the variable for which to give the associated expression.

Returns: expression equivalent to s(e), or a reference to such an expression.

expression_type operator()(const Expression&) const
assignment operator[](variable_type const &v)
const substitution_type &substitution() const

Returns the wrapped substitution.

Returns: The wrapped substitution.