Include file:
#include "mcrl2/data/application.h
mcrl2::data::
application
¶An application of a data expression to a number of arguments.
mcrl2::data::application::
iterator
¶typedef for data_expression::iterator
mcrl2::data::application::
const_iterator
¶typedef for atermpp::term_appl_iterator< data_expression >
An iterator to traverse the arguments of an application.
There is a subtle difference with the arguments of an iterator on the arguments of an aterm_appl from which an application is derived. As an application has a head as its first argument, the iterator of the aterm_appl starts at this head, where the iterator of the application starts at the first argument. This also means that t[n] for t an application is equal to t[n+1] if t is interpreted as an aterm_appl.
application
()¶Default constructor.
application
(application&&) noexcept = default¶application
(const application&) noexcept = default¶Move semantics.
application
(const data_expression &head, const Container &arguments, typename atermpp::enable_if_container<Container, data_expression>::type * = nullptr)¶Constructor.
application
(const data_expression &head, const data_expression &arg1, const Terms&... other_arguments)¶Constructor.
application
(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)¶Constructor.
Construct at term head(arg_first,…,arg_last) where convert_arguments has been applied to the head and all the arguments. parameter head This is the new head for the application. parameter first This is a forward iterator yielding the first argument. parameter last This is an iterator beyond the last argument. parameter convert_arguments This is a function applied to optionally the head and the arguments. parameter skip_first_argument A boolean which is true if the function must not be applied to the head.
application
(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.
Construct at term head(arg_first,…,arg_last) where convert_arguments has been applied to the head and all the arguments. parameter head This is the new head for the application. parameter first This is a forward iterator yielding the first argument. parameter last This is an iterator beyond the last argument. parameter convert_arguments This is a function applied to optionally the head and the arguments. parameter skip_first_argument A boolean which is true if the function must not be applied to the head.
application
(const data_expression &head, FwdIter first, FwdIter last, typename std::enable_if<!std::is_base_of<data_expression, FwdIter>::value>::type * = nullptr)¶Constructor.
application
(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.
begin
() constReturns an iterator pointing to the first argument of the application.
end
() constReturns an iterator pointing past the last argument of the application.
head
() const¶Get the function at the head of this expression.
operator=
(application&&) noexcept = default¶operator=
(const application&) noexcept = default¶operator[]
(std::size_t index) constGet the i-th argument of this expression.
size
() constReturns: The number of arguments of this application.