Include file:
#include "mcrl2/atermpp/aterm_appl.h
atermpp::
term_appl
¶atermpp::term_appl::
const_iterator
¶typedef for term_appl_iterator< Term >
Const iterator used to iterate through an term_appl.
term_appl
(detail::_term_appl *t)¶Constructor.
Parameters:
t A pointer internal data structure from which the term is constructed.
This function is explicitly protected such that is not used in common code.
begin
() const¶Returns an iterator pointing to the first argument.
Returns: An iterator pointing to the first argument.
empty
() constReturns true if the term has no arguments.
Returns: True if this term has no arguments.
end
() const¶Returns a const_iterator pointing past the last argument.
Returns: A const_iterator pointing past the last argument.
function
() const¶Returns the function symbol belonging to an aterm_appl.
Returns: The function symbol of this term.
max_size
() const¶Returns the largest possible number of arguments.
Returns: The largest possible number of arguments.
operator[]
(const size_type i) const¶Returns the i-th argument.
Parameters:
i A positive integer.
Returns: The argument with the given index.
size
() constReturns the number of arguments of this term.
Returns: The number of arguments of this term.
term_appl
()¶Default constructor.
term_appl
(const aterm &t)¶Explicit constructor from an aterm.
Parameters:
t The aterm from which the term is constructed.
term_appl
(const term_appl &other) noexcept = default¶This class has user-declared copy constructor so declare default copy and move operators.
term_appl
(const function_symbol &sym, ForwardIterator begin, ForwardIterator end)¶Constructor that provides an aterm_appl based on a function symbol and forward iterator providing the arguments.
The iterator range is traversed more than once. If only one traversal is required use term_appl with a TermConverter argument. But this function is substantially less efficient. The length of the iterator range must match the arity of the function symbol.
Parameters:
sym A function symbol.
begin The start of a range of elements.
end The end of a range of elements.
term_appl
(const function_symbol &sym, InputIterator begin, InputIterator end)¶Constructor that provides an aterm_appl based on a function symbol and an input iterator providing the arguments.
The given iterator is traversed only once. So it can be used with an input iterator. This means that the TermConverter is applied exactly once to each element. The length of the iterator range must be equal to the arity of the function symbol.
Parameters:
sym A function symbol.
begin The start of a range of elements.
end The end of a range of elements.
term_appl
(const function_symbol &sym, InputIterator begin, InputIterator end, TermConverter converter)¶The given iterator is traversed only once. So it can be used with an input iterator. This means that the TermConverter is applied exactly once to each element. The length of the iterator range must be equal to the arity of the function symbol.
Parameters:
sym A function symbol.
begin The start of a range of elements.
end The end of a range of elements.
converter An class or lambda term containing an operator Term operator()(const Term& t) which is applied to each each element in the iterator range before it becomes an argument of this term.
term_appl
(const function_symbol &sym)¶Constructor.
Parameters:
sym A function symbol.
term_appl
(const function_symbol &symbol, const Terms&... arguments)¶Constructor for n-arity function application.
Parameters:
symbol A function symbol.
arguments The arguments of the function application.