12#ifndef MCRL2_DATA_DATA_EQUATION_H
13#define MCRL2_DATA_DATA_EQUATION_H
54 template <
typename Container>
67 return atermpp::down_cast<variable_list>((*
this)[0]);
72 return atermpp::down_cast<data_expression>((*
this)[1]);
77 return atermpp::down_cast<data_expression>((*
this)[2]);
82 return atermpp::down_cast<data_expression>((*
this)[3]);
92 template <
typename Container >
115template <
class... ARGUMENTS>
const_iterator end() const
Returns a const_iterator pointing past the last argument.
aterm()
Default constructor.
const_iterator begin() const
Returns an iterator pointing to the first argument.
const function_symbol & function() const
Returns the function symbol belonging to an aterm.
void swap(unprotected_aterm_core &t) noexcept
Swaps this term with its argument.
data_equation(const atermpp::aterm &term)
data_equation()
\brief Default constructor X3.
const data_expression & lhs() const
const data_expression & condition() const
data_equation(const Container &variables, const data_expression &lhs, const data_expression &rhs, typename atermpp::enable_if_container< Container, variable >::type *=nullptr)
Constructor.
const data_expression & rhs() const
data_equation(data_equation &&) noexcept=default
data_equation(const Container &variables, const data_expression &condition, const data_expression &lhs, const data_expression &rhs, typename atermpp::enable_if_container< Container, variable >::type *=nullptr)
\brief Constructor Z1.
data_equation(const variable_list &variables, const data_expression &condition, const data_expression &lhs, const data_expression &rhs)
\brief Constructor Z12.
const variable_list & variables() const
data_equation(const data_expression &lhs, const data_expression &rhs)
Constructor.
data_equation(const data_equation &) noexcept=default
Move semantics.
The class function symbol.
The main namespace for the aterm++ library.
void make_term_appl(Term &target, const function_symbol &sym, ForwardIterator begin, ForwardIterator end)
Constructor an aterm in a variable based on a function symbol and an forward iterator providing the a...
const atermpp::function_symbol & function_symbol_DataEqn()
bool check_term_DataEqn(const Term &t)
const function_symbol & true_()
Constructor for function symbol true.
bool is_data_equation(const atermpp::aterm &t)
Recognizer function.
void swap(abstraction &t1, abstraction &t2)
\brief swap overload
data::data_equation translate_user_notation(const data::data_equation &x)
std::vector< data_equation > data_equation_vector
\brief vector of data_equations
const data_expression & true_()
std::string pp(const abstraction &x)
atermpp::term_list< data_equation > data_equation_list
\brief list of data_equations
std::set< data::sort_expression > find_sort_expressions(const data::data_equation &x)
std::set< data::function_symbol > find_function_symbols(const data::data_equation &x)
void make_data_equation(atermpp::aterm &t, const ARGUMENTS &... args)
std::ostream & operator<<(std::ostream &out, const abstraction &x)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...