mCRL2
Loading...
Searching...
No Matches
aterm_list.h
Go to the documentation of this file.
1// Author(s): Wieger Wesselink, Jan Friso Groote, Maurice Laveaux.
2// Copyright: see the accompanying file COPYING or copy at
3// https://github.com/mCRL2org/mCRL2/blob/master/COPYING
4//
5// Distributed under the Boost Software License, Version 1.0.
6// (See accompanying file LICENSE_1_0.txt or copy at
7// http://www.boost.org/LICENSE_1_0.txt)
8//
11
12#ifndef MCRL2_ATERMPP_DETAIL_ATERM_LIST_H
13#define MCRL2_ATERMPP_DETAIL_ATERM_LIST_H
14
16
17namespace atermpp
18{
19
20template <class Term>
21class term_list;
22
23typedef term_list<aterm> aterm_list;
24
25namespace detail
26{
27
28template <class Term>
30
31
32template <class Term>
34{
35 void operator()(Term& result, const Term& t) const
36 {
37 result=t;
38 }
39
40 const Term& operator()(const Term& t) const
41 {
42 return t;
43 }
44
45 Term& operator()(Term& t) const
46 {
47 return t;
48 }
49};
50
56template <typename Term, typename Iter, typename ATermConverter>
57inline aterm make_list_backward(Iter first, Iter last, ATermConverter convert_to_aterm);
58
60template <class Term, class Iter, class ATermConverter>
61inline void make_list_backward(term_list<Term>& result, Iter first, Iter last, ATermConverter convert_to_aterm);
62
63
66template <typename Term, typename Iter, typename ATermConverter, typename ATermFilter>
67inline aterm make_list_backward(Iter first, Iter last, ATermConverter convert_to_aterm, ATermFilter aterm_filter);
68
70template <class Term, class Iter, class ATermConverter, class ATermFilter>
71inline void make_list_backward(term_list<Term>& result, Iter first, Iter last, ATermConverter convert_to_aterm, ATermFilter aterm_filter);
72
74template <typename Term, class Iter, class ATermConverter>
75aterm make_list_forward(Iter first, Iter last, ATermConverter convert_to_aterm);
76
78template <typename Term, class Iter, class ATermConverter>
79inline void make_list_forward(term_list<Term>& result, Iter first, Iter last, ATermConverter convert_to_aterm);
80
82template <class Term, class Iter, class ATermConverter>
83inline void make_list_backward(term_list<Term>& result, Iter first, Iter last, ATermConverter convert_to_aterm);
84
88template <typename Term, class Iter, class ATermConverter, class ATermFilter>
89aterm make_list_forward(Iter first, Iter last, ATermConverter convert_to_aterm, ATermFilter aterm_filter);
90
92template <class Term, class Iter, class ATermConverter, class ATermFilter>
93inline void make_list_forward(term_list<Term>& result, Iter first, Iter last, ATermConverter convert_to_aterm, ATermFilter aterm_filter);
94
95} // namespace detail
96
97} // namespace atermpp
98
99#endif // MCRL2_ATERMPP_DETAIL_ATERM_INT_H
A list of aterm objects.
Definition aterm_list.h:24
aterm make_list_backward(Iter first, Iter last, ATermConverter convert_to_aterm)
Constructs a list starting from first to last. The iterators are traversed backwards and each element...
aterm make_list_forward(Iter first, Iter last, ATermConverter convert_to_aterm)
Constructs a list starting from first to last. Each element is converted using the TermConverter.
The main namespace for the aterm++ library.
Definition algorithm.h:21
term_list< aterm > aterm_list
A term_list with elements of type aterm.
Definition aterm_list.h:497
void operator()(Term &result, const Term &t) const
Definition aterm_list.h:35
const Term & operator()(const Term &t) const
Definition aterm_list.h:40
Term & operator()(Term &t) const
Definition aterm_list.h:45