mCRL2
Loading...
Searching...
No Matches
communication_expression.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_COMMUNICATION_EXPRESSION_H
13#define MCRL2_PROCESS_COMMUNICATION_EXPRESSION_H
14
16
17namespace mcrl2
18{
19
20namespace process
21{
22
23//--- start generated class communication_expression ---//
26{
27 public:
30 : atermpp::aterm(core::detail::default_values::CommExpr)
31 {}
32
36 : atermpp::aterm(term)
37 {
39 }
40
43 : atermpp::aterm(core::detail::function_symbol_CommExpr(), action_name, name)
44 {}
45
48 : atermpp::aterm(core::detail::function_symbol_CommExpr(), action_name, core::identifier_string(name))
49 {}
50
54 communication_expression& operator=(const communication_expression&) noexcept = default;
55 communication_expression& operator=(communication_expression&&) noexcept = default;
56
58 {
59 return atermpp::down_cast<action_name_multiset>((*this)[0]);
60 }
61
63 {
64 return atermpp::down_cast<core::identifier_string>((*this)[1]);
65 }
66};
67
70template <class... ARGUMENTS>
71inline void make_communication_expression(atermpp::aterm& t, const ARGUMENTS&... args)
72{
74}
75
78
80typedef std::vector<communication_expression> communication_expression_vector;
81
85inline
87{
89}
90
91// prototype declaration
92std::string pp(const communication_expression& x);
93
98inline
99std::ostream& operator<<(std::ostream& out, const communication_expression& x)
100{
101 return out << process::pp(x);
102}
103
106{
107 t1.swap(t2);
108}
109//--- end generated class communication_expression ---//
110
111} // namespace process
112
113} // namespace mcrl2
114
115#endif // MCRL2_PROCESS_COMMUNICATION_EXPRESSION_H
add your file description here.
Term containing a string.
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 A multiset of action names
const core::identifier_string & name() const
communication_expression()
\brief Default constructor X3.
communication_expression(const action_name_multiset &action_name, const std::string &name)
\brief Constructor Z1.
communication_expression(const communication_expression &) noexcept=default
Move semantics.
communication_expression(communication_expression &&) noexcept=default
communication_expression(const action_name_multiset &action_name, const core::identifier_string &name)
\brief Constructor Z12.
const action_name_multiset & action_name() const
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_CommExpr(const Term &t)
const atermpp::function_symbol & function_symbol_CommExpr()
void swap(action_label &t1, action_label &t2)
\brief swap overload
bool is_communication_expression(const atermpp::aterm &x)
std::vector< communication_expression > communication_expression_vector
\brief vector of communication_expressions
void make_communication_expression(atermpp::aterm &t, const ARGUMENTS &... args)
std::string pp(const action_label &x)
Definition process.cpp:36
atermpp::term_list< communication_expression > communication_expression_list
\brief list of communication_expressions
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 CommExpr