12#ifndef MCRL2_DATA_SORT_EXPRESSION_H
13#define MCRL2_DATA_SORT_EXPRESSION_H
91 return atermpp::down_cast<const sort_expression>((*
this)[1]);
158 return hash<atermpp::aterm>()(x);
aterm()
Default constructor.
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.
sort_expression(const sort_expression &) noexcept=default
Move semantics.
const sort_expression & target_sort() const
Returns the target sort of this expression.
sort_expression(sort_expression &&) noexcept=default
sort_expression()
\brief Default constructor X3.
sort_expression(const atermpp::aterm &term)
add your file description here.
The main namespace for the aterm++ library.
bool check_rule_SortExpr(const Term &t)
bool is_structured_sort(const atermpp::aterm &x)
Returns true if the term t is a structured sort.
void swap(abstraction &t1, abstraction &t2)
\brief swap overload
std::vector< sort_expression > sort_expression_vector
\brief vector of sort_expressions
bool is_untyped_possible_sorts(const atermpp::aterm &x)
Returns true if the term t is an expression for multiple possible sorts.
bool is_untyped_sort(const atermpp::aterm &x)
Returns true if the term t is the unknown sort.
atermpp::term_list< sort_expression > sort_expression_list
\brief list of sort_expressions
std::string pp(const abstraction &x)
bool is_container_sort(const atermpp::aterm &x)
Returns true if the term t is a container sort.
bool is_basic_sort(const atermpp::aterm &x)
Returns true if the term t is a basic sort.
std::set< data::sort_expression > find_sort_expressions(const data::data_equation &x)
bool is_function_sort(const atermpp::aterm &x)
Returns true if the term t is a function sort.
bool is_sort_expression(const atermpp::aterm &x)
Test for a sort_expression expression.
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...
Add your file description here.
static const atermpp::function_symbol SortArrow
static const atermpp::function_symbol SortCons
static const atermpp::function_symbol SortStruct
static const atermpp::function_symbol UntypedSortsPossible
static const atermpp::function_symbol SortId
static const atermpp::function_symbol UntypedSortUnknown
std::size_t operator()(const mcrl2::data::sort_expression &x) const