mCRL2
Loading...
Searching...
No Matches
mcrl2::data::detail::normalize_and_or_builder< Derived > Struct Template Reference

#include <test_rewriters.h>

Inheritance diagram for mcrl2::data::detail::normalize_and_or_builder< Derived >:
mcrl2::data::data_expression_builder< Derived > mcrl2::data::add_data_expressions< core::builder, Derived >

Public Types

using super = data_expression_builder< Derived >
 
- Public Types inherited from mcrl2::data::add_data_expressions< core::builder, Derived >
using super = core::builder< Derived >
 

Public Member Functions

std::multiset< data_expressionsplit_or (const data_expression &expr)
 Splits a disjunction into a sequence of operands Given a data expression of the form p1 || p2 || .... || pn, this will yield a set of the form { p1, p2, ..., pn }, assuming that pi does not have a || as main function symbol.
 
std::multiset< data_expressionsplit_and (const data_expression &expr)
 Splits a conjunction into a sequence of operands Given a data expression of the form p1 && p2 && .... && pn, this will yield a set of the form { p1, p2, ..., pn }, assuming that pi does not have a && as main function symbol.
 
template<class T >
void apply (T &result, const application &x)
 
- Public Member Functions inherited from mcrl2::data::add_data_expressions< core::builder, Derived >
void apply (T &result, const data::variable &x)
 
void apply (T &result, const data::function_symbol &x)
 
void apply (T &result, const data::application &x)
 
void apply (T &result, const data::where_clause &x)
 
void apply (T &result, const data::machine_number &x)
 
void apply (T &result, const data::untyped_identifier &x)
 
void apply (T &result, const data::assignment &x)
 
void apply (T &result, const data::untyped_identifier_assignment &x)
 
void apply (T &result, const data::forall &x)
 
void apply (T &result, const data::exists &x)
 
void apply (T &result, const data::lambda &x)
 
void apply (T &result, const data::set_comprehension &x)
 
void apply (T &result, const data::bag_comprehension &x)
 
void apply (T &result, const data::untyped_set_or_bag_comprehension &x)
 
void apply (T &result, const data::data_equation &x)
 
void apply (T &result, const data::untyped_data_parameter &x)
 
void apply (T &result, const data::data_expression &x)
 
void apply (T &result, const data::assignment_expression &x)
 
void apply (T &result, const data::abstraction &x)
 

Detailed Description

template<typename Derived>
struct mcrl2::data::detail::normalize_and_or_builder< Derived >

Definition at line 27 of file test_rewriters.h.

Member Typedef Documentation

◆ super

template<typename Derived >
using mcrl2::data::detail::normalize_and_or_builder< Derived >::super = data_expression_builder<Derived>

Definition at line 29 of file test_rewriters.h.

Member Function Documentation

◆ apply()

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

Definition at line 62 of file test_rewriters.h.

◆ split_and()

template<typename Derived >
std::multiset< data_expression > mcrl2::data::detail::normalize_and_or_builder< Derived >::split_and ( const data_expression expr)
inline

Splits a conjunction into a sequence of operands Given a data expression of the form p1 && p2 && .... && pn, this will yield a set of the form { p1, p2, ..., pn }, assuming that pi does not have a && as main function symbol.

Parameters
exprA data expression
Returns
A sequence of operands

Definition at line 54 of file test_rewriters.h.

◆ split_or()

template<typename Derived >
std::multiset< data_expression > mcrl2::data::detail::normalize_and_or_builder< Derived >::split_or ( const data_expression expr)
inline

Splits a disjunction into a sequence of operands Given a data expression of the form p1 || p2 || .... || pn, this will yield a set of the form { p1, p2, ..., pn }, assuming that pi does not have a || as main function symbol.

Parameters
exprA data expression
Returns
A sequence of operands

Definition at line 41 of file test_rewriters.h.


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