12#ifndef MCRL2_ATERMPP_BUILDER_H
13#define MCRL2_ATERMPP_BUILDER_H
20template <
typename Derived>
25 return static_cast<Derived&
>(*this);
72 derived().apply(result, atermpp::down_cast<aterm_list>(x));
76 derived().apply(result, atermpp::down_cast<aterm_int>(x));
Term containing an integer.
An integer term stores a single std::size_t value. It carries no arguments.
const_iterator end() const
Returns a const_iterator pointing past the last argument.
const_iterator begin() const
Returns an iterator pointing to the first argument.
const function_symbol & function() const
Returns the function symbol belonging to an aterm.
const_iterator end() const
Returns a const_iterator pointing to the end of the term_list.
const_iterator begin() const
Returns a const_iterator pointing to the beginning of the term_list.
bool type_is_list() const noexcept
Dynamic check whether the term is an aterm_list.
bool type_is_int() const noexcept
Dynamic check whether the term is an aterm_int.
The main namespace for the aterm++ library.
void make_term_list(term_list< Term > &target)
Make an empty list and put it in target;.
void make_term_appl(Term &target, const function_symbol &sym, ForwardIterator begin, ForwardIterator end)
Constructor an aterm in a variable based on a function symbol and an forward iterator providing the a...
void apply(T &result, const aterm_int &x)
void apply(T &result, const aterm &x)
void apply(T &result, const aterm_list &x)