12#ifndef MCRL2_DATA_FUNCTION_SYMBOL_H
13#define MCRL2_DATA_FUNCTION_SYMBOL_H
38 const core::identifier_string&
name()
const
40 return atermpp::down_cast<core::identifier_string>((*
this)[0]);
45 return atermpp::down_cast<sort_expression>((*
this)[1]);
64 atermpp::make_term_appl_with_index<function_symbol, std::pair<core::identifier_string, sort_expression> >
72 atermpp::make_term_appl_with_index<function_symbol, std::pair<core::identifier_string, sort_expression> >
81template <
class... ARGUMENTS>
Term containing a string.
void swap(unprotected_aterm_core &t) noexcept
Swaps this term with its argument.
function_symbol(const core::identifier_string &name, const sort_expression &sort)
Constructor.
function_symbol(const function_symbol &) noexcept=default
Move semantics.
function_symbol()
Default constructor.
function_symbol(function_symbol &&) noexcept=default
function_symbol(const atermpp::aterm &term)
Constructor.
const core::identifier_string & name() const
const sort_expression & sort() const
function_symbol(const std::string &name, const sort_expression &sort)
Constructor.
bool check_term_OpId(const Term &t)
const atermpp::function_symbol & function_symbol_OpId()
atermpp::aterm_string identifier_string
String type of the LPS library. Identifier strings are represented internally as ATerms.
void make_function_symbol(atermpp::aterm &t, const ARGUMENTS &... args)
void swap(abstraction &t1, abstraction &t2)
\brief swap overload
atermpp::term_list< function_symbol > function_symbol_list
\brief list of function_symbols
std::set< data::variable > find_all_variables(const data::data_expression &x)
std::string pp(const abstraction &x)
std::pair< core::identifier_string, sort_expression > function_symbol_key_type
std::vector< function_symbol > function_symbol_vector
\brief vector of function_symbols
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...