Include file:
#include "mcrl2/data/identifier_generator.h"
The class identifier_generator.
mcrl2::data::
replace_variables_capture_avoiding_with_an_identifier_generator
(const T &x, Substitution &sigma, IdentifierGenerator &id_generator, typename std::enable_if<std::is_base_of<atermpp::aterm, T>::value>::type * = nullptr)¶brief Applies sigma as a capture avoiding substitution to x using an identifier generator.. details This substitution function is much faster than replace_variables_capture_avoiding, but it requires an identifier generator that generates strings for fresh variables. These strings must be unique in the sense that they have not been used for other variables. param x The object to which the substiution is applied. param sigma A mutable substitution of which it can efficiently be checked whether a variable occurs in its right hand side. The class maintain_variables_in_rhs is useful for this purpose. param id_generator A generator that generates unique strings, not yet used as variable names. return The result is the term x to which sigma has been applied.
mcrl2::data::
replace_variables_capture_avoiding_with_an_identifier_generator
(T &x, Substitution &sigma, IdentifierGenerator &id_generator, typename std::enable_if<!std::is_base_of<atermpp::aterm, T>::value>::type * = nullptr)¶brief Applies sigma as a capture avoiding substitution to x using an identifier generator. details This substitution function is much faster than replace_variables_capture_avoiding, but it requires an identifier generator that generates strings for fresh variables. These strings must be unique in the sense that they have not been used for other variables. param x The object to which the subsitution is applied. param sigma A mutable substitution of which it can efficiently be checked whether a variable occurs in its right hand side. The class maintain_variables_in_rhs is useful for this purpose. param id_generator A generator that generates unique strings, not yet used as variable names.