mcrl2/data/data_expression.h

Include file:

#include "mcrl2/data/data_expression.h"

The class data_expression.

Typedefs

type mcrl2::data::data_expression_list

typedef for atermpp::term_list< data_expression >

brief list of data_expressions

type mcrl2::data::data_expression_vector

typedef for std::vector< data_expression >

brief vector of data_expressions

type mcrl2::data::variable_list

typedef for atermpp::term_list< variable >

brief list of variables

Functions

bool mcrl2::data::is_abstraction(const atermpp::aterm &x)

Returns true if the term t is an abstraction.

bool mcrl2::data::is_application(const atermpp::aterm_appl &x)

Returns true if the term t is an application.

This function is inefficient as the arity of a term must be determined and an inspection must take place in an array of function symbols. Therefore, there is an more efficient overload is_application(const data_expression& x).

bool mcrl2::data::is_application(const data_expression &t)

Returns true if the term t is an application.

Parameters:

  • t The variable that is checked.
bool mcrl2::data::is_application_no_check(const atermpp::aterm_appl &x)

Returns true if the term t is an application, but it does not check whether an application symbol of sufficient arity exists, assuming this is ok.

bool mcrl2::data::is_bag_comprehension(const atermpp::aterm_appl &x)

Returns true if the term t is a bag comprehension.

bool mcrl2::data::is_constant(const data_expression &x)
bool mcrl2::data::is_data_expression(const atermpp::aterm_appl &x)

Test for a data_expression expression.

Parameters:

  • x A term

Returns: True if it is a data_expression expression

bool mcrl2::data::is_exists(const atermpp::aterm_appl &x)

Returns true if the term t is an existential quantification.

bool mcrl2::data::is_forall(const atermpp::aterm_appl &x)

Returns true if the term t is a universal quantification.

bool mcrl2::data::is_function_symbol(const atermpp::aterm_appl &x)

Returns true if the term t is a function symbol.

bool mcrl2::data::is_lambda(const atermpp::aterm_appl &x)

Returns true if the term t is a lambda abstraction.

bool mcrl2::data::is_set_comprehension(const atermpp::aterm_appl &x)

Returns true if the term t is a set comprehension.

bool mcrl2::data::is_untyped_identifier(const atermpp::aterm_appl &x)

Returns true if the term t is an identifier.

bool mcrl2::data::is_untyped_set_or_bag_comprehension(const atermpp::aterm_appl &x)

Returns true if the term t is a set/bag comprehension.

bool mcrl2::data::is_variable(const atermpp::aterm &x)

Returns true if the term t is a variable.

bool mcrl2::data::is_where_clause(const atermpp::aterm_appl &x)

Returns true if the term t is a where clause.

void mcrl2::data::make_data_expression(data_expression &result)
data_expression_list mcrl2::data::make_data_expression_list(Container const &r, typename atermpp::enable_if_container<Container, data_expression>::type * = nullptr)

Converts an container with data expressions to data_expression_list.

Parameters:

  • r A range of data expressions.

Note

This function uses implementation details of the iterator type and hence is sometimes efficient than copying all elements of the list.

std::ostream &mcrl2::data::operator<<(std::ostream &out, const data_expression &x)

brief Outputs the object to a stream param out An output stream param x Object x return The output stream

void mcrl2::data::swap(data_expression &t1, data_expression &t2)

brief swap overload

const data_expression_list &mcrl2::data::variable_list_to_data_expression_list(const variable_list &l)

Transform a variable_list into a data_expression_list.