mCRL2
Loading...
Searching...
No Matches
application.h File Reference

The class application. More...

Go to the source code of this file.

Classes

class  mcrl2::data::detail::prepend_iterator_tag_convertor< IteratorTag >
 
class  mcrl2::data::detail::prepend_iterator_tag_convertor< std::input_iterator_tag >
 
class  mcrl2::data::detail::term_appl_prepend_iterator< Iterator >
 
class  mcrl2::data::detail::skip_function_application_to_head< ArgumentConverter >
 
class  mcrl2::data::detail::skip_function_application_to_head_assignment< ArgumentConverter >
 
class  mcrl2::data::application
 An application of a data expression to a number of arguments. More...
 

Namespaces

namespace  mcrl2
 A class that takes a linear process specification and checks all tau-summands of that LPS for confluence.
 
namespace  mcrl2::data
 Namespace for all data library functionality.
 
namespace  mcrl2::data::detail
 

Functions

bool mcrl2::data::detail::contains_untyped_sort (const sort_expression &s)
 
const data_expressionmcrl2::data::detail::evaluate_lambda_data_expression (const data_expression &t)
 
template<class TERM >
data_expression mcrl2::data::detail::evaluate_lambda_data_expression (const TERM &t, typename std::enable_if< std::is_invocable_r< void, TERM, data_expression & >::value >::type *=nullptr)
 
template<class TERM >
data_expression mcrl2::data::detail::evaluate_lambda_data_expression (const TERM &t, typename std::enable_if< std::is_invocable_r< const data_expression, TERM, void >::value >::type *=nullptr)
 
template<class HEAD , class CONTAINER >
bool mcrl2::data::detail::check_whether_sorts_match (const HEAD &head_lambda, const CONTAINER &l)
 
data_expression_list mcrl2::data::detail::get_arguments ()
 
template<class HEAD , class... ARGUMENTS>
data_expression_list mcrl2::data::detail::get_arguments (const HEAD &h, const ARGUMENTS &... args)
 
void mcrl2::data::swap (application &t1, application &t2)
 swap overload
 
void mcrl2::data::make_application (atermpp::aterm &result)
 Make function for an application.
 
template<typename HEAD , typename TERM , typename ... Terms, typename = std::enable_if_t< std::disjunction<typename std::is_convertible<HEAD, data_expression>, typename std::is_invocable_r<void, HEAD, data_expression&>, typename std::is_invocable_r<const data_expression, HEAD, void> >::value >, typename = std::enable_if_t<std::conjunction_v< std::disjunction<typename std::is_convertible<Terms, data_expression>, typename std::is_invocable_r<void, Terms, data_expression&>, typename std::is_invocable_r<const data_expression, Terms, void> > ...>>>
void mcrl2::data::make_application (atermpp::aterm &result, const HEAD &head, const TERM &arg1, const Terms &...other_arguments)
 Constructor.
 
template<typename Container >
void mcrl2::data::make_application (data_expression &result, const data_expression &head, const Container &arguments, typename atermpp::enable_if_container< Container, data_expression >::type *=nullptr)
 Constructor.
 
template<typename FwdIter >
void mcrl2::data::make_application (atermpp::aterm &result, const data_expression &head, FwdIter first, FwdIter last, typename std::enable_if< !std::is_base_of< data_expression, FwdIter >::value >::type *=nullptr)
 Constructor.
 
template<typename FwdIter >
void mcrl2::data::make_application (atermpp::aterm &result, const std::size_t arity, const data_expression &head, FwdIter first, FwdIter last, typename std::enable_if< !std::is_base_of< data_expression, FwdIter >::value >::type *=0)
 Constructor.
 
template<typename FwdIter , class ArgumentConverter >
void mcrl2::data::make_application (atermpp::aterm &result, const data_expression &head, FwdIter first, FwdIter last, ArgumentConverter convert_arguments, const bool skip_first_argument=false, typename std::enable_if< !std::is_base_of< data_expression, FwdIter >::value >::type *=nullptr, typename std::enable_if< !std::is_base_of< data_expression, ArgumentConverter >::value >::type *=nullptr, typename std::enable_if< std::is_same< typename std::invoke_result< ArgumentConverter, typename FwdIter::value_type >::type, data_expression >::value >::type *=nullptr)
 Constructor.
 
template<typename FwdIter , class ArgumentConverter >
static void mcrl2::data::make_application (atermpp::aterm &result, const data_expression &head, FwdIter first, FwdIter last, ArgumentConverter convert_arguments, const bool skip_first_argument=false, typename std::enable_if< !std::is_base_of< data_expression, FwdIter >::value >::type *=nullptr, typename std::enable_if< !std::is_base_of< data_expression, ArgumentConverter >::value >::type *=nullptr, typename std::enable_if< std::is_same< typename std::invoke_result< ArgumentConverter, data_expression &, typename FwdIter::value_type >::type, void >::value >::type *=nullptr)
 Constructor.
 
std::string mcrl2::data::pp (const application &x)
 
std::ostream & mcrl2::data::operator<< (std::ostream &out, const application &x)
 
const data_expressionmcrl2::data::unary_operand (const application &x)
 
const data_expressionmcrl2::data::binary_left (const application &x)
 
const data_expressionmcrl2::data::binary_right (const application &x)
 
const data_expressionmcrl2::data::unary_operand1 (const data_expression &x)
 
const data_expressionmcrl2::data::binary_left1 (const data_expression &x)
 
const data_expressionmcrl2::data::binary_right1 (const data_expression &x)
 

Detailed Description

The class application.

Definition in file application.h.