mCRL2
Loading...
Searching...
No Matches
container_type.h
Go to the documentation of this file.
1// Author(s): Jeroen Keiren
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_DATA_CONTAINER_TYPE_H
13#define MCRL2_DATA_CONTAINER_TYPE_H
14
17
18namespace mcrl2
19{
20
21namespace data
22{
23
24//--- start generated classes ---//
27{
28 public:
31 : atermpp::aterm(core::detail::default_values::SortConsType)
32 {}
33
36 explicit container_type(const atermpp::aterm& term)
37 : atermpp::aterm(term)
38 {
40 }
41
43 container_type(const container_type&) noexcept = default;
44 container_type(container_type&&) noexcept = default;
45 container_type& operator=(const container_type&) noexcept = default;
46 container_type& operator=(container_type&&) noexcept = default;
47};
48
51
54
55// prototype declaration
56std::string pp(const container_type& x);
57
62inline
63std::ostream& operator<<(std::ostream& out, const container_type& x)
64{
65 return out << data::pp(x);
66}
67
69inline void swap(container_type& t1, container_type& t2)
70{
71 t1.swap(t2);
72}
73
74
77{
78 public:
81 : container_type(core::detail::default_values::SortList)
82 {}
83
86 explicit list_container(const atermpp::aterm& term)
87 : container_type(term)
88 {
89 assert(core::detail::check_term_SortList(*this));
90 }
91
93 list_container(const list_container&) noexcept = default;
94 list_container(list_container&&) noexcept = default;
95 list_container& operator=(const list_container&) noexcept = default;
96 list_container& operator=(list_container&&) noexcept = default;
97};
98
102inline
103bool is_list_container(const atermpp::aterm& x)
104{
105 return x.function() == core::detail::function_symbols::SortList;
106}
107
108// prototype declaration
109std::string pp(const list_container& x);
110
115inline
116std::ostream& operator<<(std::ostream& out, const list_container& x)
117{
118 return out << data::pp(x);
119}
120
122inline void swap(list_container& t1, list_container& t2)
123{
124 t1.swap(t2);
125}
126
127
130{
131 public:
134 : container_type(core::detail::default_values::SortSet)
135 {}
136
139 explicit set_container(const atermpp::aterm& term)
140 : container_type(term)
141 {
142 assert(core::detail::check_term_SortSet(*this));
143 }
144
146 set_container(const set_container&) noexcept = default;
147 set_container(set_container&&) noexcept = default;
148 set_container& operator=(const set_container&) noexcept = default;
149 set_container& operator=(set_container&&) noexcept = default;
150};
151
155inline
156bool is_set_container(const atermpp::aterm& x)
157{
158 return x.function() == core::detail::function_symbols::SortSet;
159}
160
161// prototype declaration
162std::string pp(const set_container& x);
163
168inline
169std::ostream& operator<<(std::ostream& out, const set_container& x)
170{
171 return out << data::pp(x);
172}
173
175inline void swap(set_container& t1, set_container& t2)
176{
177 t1.swap(t2);
178}
179
180
183{
184 public:
187 : container_type(core::detail::default_values::SortBag)
188 {}
189
192 explicit bag_container(const atermpp::aterm& term)
193 : container_type(term)
194 {
195 assert(core::detail::check_term_SortBag(*this));
196 }
197
199 bag_container(const bag_container&) noexcept = default;
200 bag_container(bag_container&&) noexcept = default;
201 bag_container& operator=(const bag_container&) noexcept = default;
202 bag_container& operator=(bag_container&&) noexcept = default;
203};
204
208inline
209bool is_bag_container(const atermpp::aterm& x)
210{
211 return x.function() == core::detail::function_symbols::SortBag;
212}
213
214// prototype declaration
215std::string pp(const bag_container& x);
216
221inline
222std::ostream& operator<<(std::ostream& out, const bag_container& x)
223{
224 return out << data::pp(x);
225}
226
228inline void swap(bag_container& t1, bag_container& t2)
229{
230 t1.swap(t2);
231}
232
233
236{
237 public:
240 : container_type(core::detail::default_values::SortFSet)
241 {}
242
245 explicit fset_container(const atermpp::aterm& term)
246 : container_type(term)
247 {
248 assert(core::detail::check_term_SortFSet(*this));
249 }
250
252 fset_container(const fset_container&) noexcept = default;
253 fset_container(fset_container&&) noexcept = default;
254 fset_container& operator=(const fset_container&) noexcept = default;
255 fset_container& operator=(fset_container&&) noexcept = default;
256};
257
261inline
262bool is_fset_container(const atermpp::aterm& x)
263{
264 return x.function() == core::detail::function_symbols::SortFSet;
265}
266
267// prototype declaration
268std::string pp(const fset_container& x);
269
274inline
275std::ostream& operator<<(std::ostream& out, const fset_container& x)
276{
277 return out << data::pp(x);
278}
279
281inline void swap(fset_container& t1, fset_container& t2)
282{
283 t1.swap(t2);
284}
285
286
289{
290 public:
293 : container_type(core::detail::default_values::SortFBag)
294 {}
295
298 explicit fbag_container(const atermpp::aterm& term)
299 : container_type(term)
300 {
301 assert(core::detail::check_term_SortFBag(*this));
302 }
303
305 fbag_container(const fbag_container&) noexcept = default;
306 fbag_container(fbag_container&&) noexcept = default;
307 fbag_container& operator=(const fbag_container&) noexcept = default;
308 fbag_container& operator=(fbag_container&&) noexcept = default;
309};
310
314inline
315bool is_fbag_container(const atermpp::aterm& x)
316{
317 return x.function() == core::detail::function_symbols::SortFBag;
318}
319
320// prototype declaration
321std::string pp(const fbag_container& x);
322
327inline
328std::ostream& operator<<(std::ostream& out, const fbag_container& x)
329{
330 return out << data::pp(x);
331}
332
334inline void swap(fbag_container& t1, fbag_container& t2)
335{
336 t1.swap(t2);
337}
338//--- end generated classes ---//
339
340} // namespace data
341
342} // namespace mcrl2
343
344#endif // MCRL2_DATA_CONTAINER_TYPE_H
void swap(StaticGraph &a, StaticGraph &b)
Definition Graph.h:297
aterm()
Default constructor.
Definition aterm.h:48
const function_symbol & function() const
Returns the function symbol belonging to an aterm.
Definition aterm.h:144
A list of aterm objects.
Definition aterm_list.h:24
void swap(unprotected_aterm_core &t) noexcept
Swaps this term with its argument.
Definition aterm_core.h:152
\brief Container type for bags
bag_container(const bag_container &) noexcept=default
Move semantics.
bag_container(bag_container &&) noexcept=default
bag_container()
\brief Default constructor X3.
bag_container(const atermpp::aterm &term)
\brief Container type
container_type(container_type &&) noexcept=default
container_type(const atermpp::aterm &term)
container_type(const container_type &) noexcept=default
Move semantics.
container_type()
\brief Default constructor X3.
\brief Container type for finite bags
fbag_container()
\brief Default constructor X3.
fbag_container(const fbag_container &) noexcept=default
Move semantics.
fbag_container(const atermpp::aterm &term)
fbag_container(fbag_container &&) noexcept=default
\brief Container type for finite sets
fset_container(fset_container &&) noexcept=default
fset_container(const fset_container &) noexcept=default
Move semantics.
fset_container(const atermpp::aterm &term)
fset_container()
\brief Default constructor X3.
\brief Container type for lists
list_container(list_container &&) noexcept=default
list_container()
\brief Default constructor X3.
list_container(const list_container &) noexcept=default
Move semantics.
list_container(const atermpp::aterm &term)
\brief Container type for sets
set_container()
\brief Default constructor X3.
set_container(const set_container &) noexcept=default
Move semantics.
set_container(set_container &&) noexcept=default
set_container(const atermpp::aterm &term)
add your file description here.
The main namespace for the aterm++ library.
Definition algorithm.h:21
bool check_rule_SortConsType(const Term &t)
void swap(abstraction &t1, abstraction &t2)
\brief swap overload
std::string pp(const abstraction &x)
Definition data.cpp:39
std::vector< container_type > container_type_vector
\brief vector of container_types
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Definition indexed_set.h:72
STL namespace.
Add your file description here.