mCRL2
Loading...
Searching...
No Matches
rename_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_RENAME_EXPRESSION_H
13#define MCRL2_PROCESS_RENAME_EXPRESSION_H
14
17
18namespace mcrl2
19{
20
21namespace process
22{
23
24//--- start generated class rename_expression ---//
27{
28 public:
31 : atermpp::aterm_appl(core::detail::default_values::RenameExpr)
32 {}
33
36 explicit rename_expression(const atermpp::aterm& term)
37 : atermpp::aterm_appl(term)
38 {
40 }
41
44 : atermpp::aterm_appl(core::detail::function_symbol_RenameExpr(), source, target)
45 {}
46
48 rename_expression(const std::string& source, const std::string& target)
49 : atermpp::aterm_appl(core::detail::function_symbol_RenameExpr(), core::identifier_string(source), core::identifier_string(target))
50 {}
51
53 rename_expression(const rename_expression&) noexcept = default;
54 rename_expression(rename_expression&&) noexcept = default;
55 rename_expression& operator=(const rename_expression&) noexcept = default;
56 rename_expression& operator=(rename_expression&&) noexcept = default;
57
58 const core::identifier_string& source() const
59 {
60 return atermpp::down_cast<core::identifier_string>((*this)[0]);
61 }
62
64 {
65 return atermpp::down_cast<core::identifier_string>((*this)[1]);
66 }
67};
68
71template <class... ARGUMENTS>
72inline void make_rename_expression(atermpp::aterm_appl& t, const ARGUMENTS&... args)
73{
75}
76
79
81typedef std::vector<rename_expression> rename_expression_vector;
82
86inline
88{
90}
91
92// prototype declaration
93std::string pp(const rename_expression& x);
94
99inline
100std::ostream& operator<<(std::ostream& out, const rename_expression& x)
101{
102 return out << process::pp(x);
103}
104
107{
108 t1.swap(t2);
109}
110//--- end generated class rename_expression ---//
111
112} // namespace process
113
114} // namespace mcrl2
115
116#endif // MCRL2_PROCESS_RENAME_EXPRESSION_H
Term containing a string.
The aterm base class that provides protection of the underlying shared terms.
Definition aterm.h:186
const function_symbol & function() const
Returns the function symbol belonging to an aterm_appl.
Definition aterm_appl.h:174
A list of aterm objects.
Definition aterm_list.h:23
void swap(unprotected_aterm &t) noexcept
Swaps this term with its argument.
Definition aterm.h:156
\brief A rename expression
const core::identifier_string & source() const
rename_expression()
\brief Default constructor.
rename_expression(core::identifier_string &source, core::identifier_string &target)
\brief Constructor.
const core::identifier_string & target() const
rename_expression(const atermpp::aterm &term)
rename_expression(rename_expression &&) noexcept=default
rename_expression(const std::string &source, const std::string &target)
\brief Constructor.
rename_expression(const rename_expression &) noexcept=default
Move semantics.
add your file description here.
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_appl in a variable based on a function symbol and an forward iterator providing ...
Definition aterm_appl.h:239
const atermpp::function_symbol & function_symbol_RenameExpr()
bool check_term_RenameExpr(const Term &t)
void swap(action_label &t1, action_label &t2)
\brief swap overload
std::vector< rename_expression > rename_expression_vector
\brief vector of rename_expressions
atermpp::term_list< rename_expression > rename_expression_list
\brief list of rename_expressions
bool is_rename_expression(const atermpp::aterm_appl &x)
void make_rename_expression(atermpp::aterm_appl &t, const ARGUMENTS &... args)
std::string pp(const action_label &x)
Definition process.cpp:36
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
Add your file description here.
static const atermpp::function_symbol RenameExpr