mCRL2
Loading...
Searching...
No Matches
untyped_multi_action.h
Go to the documentation of this file.
1// Author(s): Wieger Wesselink
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_PROCESS_UNTYPED_MULTI_ACTION_H
13#define MCRL2_PROCESS_UNTYPED_MULTI_ACTION_H
14
16
17namespace mcrl2 {
18
19namespace process {
20
21//--- start generated class untyped_multi_action ---//
24{
25 public:
28 : atermpp::aterm(core::detail::default_values::UntypedMultiAction)
29 {}
30
34 : atermpp::aterm(term)
35 {
37 }
38
41 : atermpp::aterm(core::detail::function_symbol_UntypedMultiAction(), actions)
42 {}
43
45 untyped_multi_action(const untyped_multi_action&) noexcept = default;
47 untyped_multi_action& operator=(const untyped_multi_action&) noexcept = default;
48 untyped_multi_action& operator=(untyped_multi_action&&) noexcept = default;
49
50 const data::untyped_data_parameter_list& actions() const
51 {
52 return atermpp::down_cast<data::untyped_data_parameter_list>((*this)[0]);
53 }
54};
55
58template <class... ARGUMENTS>
59inline void make_untyped_multi_action(atermpp::aterm& t, const ARGUMENTS&... args)
60{
62}
63
66
68typedef std::vector<untyped_multi_action> untyped_multi_action_vector;
69
73inline
75{
77}
78
79// prototype declaration
80std::string pp(const untyped_multi_action& x);
81
86inline
87std::ostream& operator<<(std::ostream& out, const untyped_multi_action& x)
88{
89 return out << process::pp(x);
90}
91
94{
95 t1.swap(t2);
96}
97//--- end generated class untyped_multi_action ---//
98
99} // namespace process
100
101} // namespace mcrl2
102
103#endif // MCRL2_PROCESS_UNTYPED_MULTI_ACTION_H
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 An untyped multi action or data application
untyped_multi_action(const data::untyped_data_parameter_list &actions)
\brief Constructor Z12.
untyped_multi_action(untyped_multi_action &&) noexcept=default
const data::untyped_data_parameter_list & actions() const
untyped_multi_action(const atermpp::aterm &term)
untyped_multi_action()
\brief Default constructor X3.
untyped_multi_action(const untyped_multi_action &) noexcept=default
Move semantics.
The main namespace for the aterm++ library.
Definition algorithm.h:21
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...
Definition aterm.h:213
bool check_term_UntypedMultiAction(const Term &t)
const atermpp::function_symbol & function_symbol_UntypedMultiAction()
void swap(action_label &t1, action_label &t2)
\brief swap overload
std::vector< untyped_multi_action > untyped_multi_action_vector
\brief vector of untyped_multi_actions
std::string pp(const action_label &x)
Definition process.cpp:36
bool is_untyped_multi_action(const atermpp::aterm &x)
atermpp::term_list< untyped_multi_action > untyped_multi_action_list
\brief list of untyped_multi_actions
void make_untyped_multi_action(atermpp::aterm &t, const ARGUMENTS &... args)
std::ostream & operator<<(std::ostream &out, const action_label &x)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Definition indexed_set.h:72
static const atermpp::function_symbol UntypedMultiAction
add your file description here.