mCRL2
Loading...
Searching...
No Matches
mcrl2::core::builder< Derived > Struct Template Reference

expression builder that visits all sub expressions More...

#include <builder.h>

Inheritance diagram for mcrl2::core::builder< Derived >:
mcrl2::action_formulas::action_formula_builder_base< Derived > mcrl2::pbes_system::pbes_expression_builder_base< Derived > mcrl2::pres_system::pres_expression_builder_base< Derived > mcrl2::process::process_builder_base< Derived > mcrl2::regular_formulas::regular_formula_builder_base< Derived > mcrl2::state_formulas::state_formula_builder_base< Derived >

Public Member Functions

template<typename T >
void enter (const T &)
 
template<typename T >
void leave (const T &)
 
template<typename T >
requires (!std::ranges::range<T>)
void update (T &x)
 
template<std::ranges::range T>
void update (T &x)
 
template<typename T >
void update (std::set< T > &x)
 
template<atermpp::IsATerm T, atermpp::IsATerm U>
void apply (atermpp::term_list< T > &result, const atermpp::term_list< U > &x)
 

Detailed Description

template<typename Derived>
struct mcrl2::core::builder< Derived >

expression builder that visits all sub expressions

Types:

  • Derived the type of a derived class, as per CRTP

Definition at line 31 of file builder.h.

Member Function Documentation

◆ apply()

template<typename Derived >
void mcrl2::core::builder< Derived >::apply ( atermpp::term_list< T > &  result,
const atermpp::term_list< U > &  x 
)
inline

Definition at line 77 of file builder.h.

◆ enter()

template<typename Derived >
template<typename T >
void mcrl2::core::builder< Derived >::enter ( const T &  )
inline

Definition at line 35 of file builder.h.

◆ leave()

template<typename Derived >
template<typename T >
void mcrl2::core::builder< Derived >::leave ( const T &  )
inline

Definition at line 40 of file builder.h.

◆ update() [1/3]

template<typename Derived >
template<typename T >
void mcrl2::core::builder< Derived >::update ( std::set< T > &  x)
inline

Definition at line 64 of file builder.h.

◆ update() [2/3]

template<typename Derived >
template<typename T >
requires (!std::ranges::range<T>)
void mcrl2::core::builder< Derived >::update ( T &  x)
inline

Definition at line 45 of file builder.h.

◆ update() [3/3]

template<typename Derived >
template<std::ranges::range T>
void mcrl2::core::builder< Derived >::update ( T &  x)
inline

Definition at line 54 of file builder.h.


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