mCRL2
Loading...
Searching...
No Matches
translate_user_notation.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_MODAL_FORMULA_TRANSLATE_USER_NOTATION_H
13#define MCRL2_MODAL_FORMULA_TRANSLATE_USER_NOTATION_H
14
17
18namespace mcrl2
19{
20
21namespace action_formulas
22{
23
24template <typename T>
26 typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value>::type* = 0
27 )
28{
29 core::make_update_apply_builder<action_formulas::data_expression_builder>(data::detail::translate_user_notation_function()).update(x);
30}
31
32template <typename T>
34 typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value>::type* = nullptr
35 )
36{
37 T result;
38 core::make_update_apply_builder<action_formulas::data_expression_builder>(data::detail::translate_user_notation_function()).apply(result, x);
39 return result;
40}
41
42} // namespace action_formulas
43
44namespace regular_formulas
45{
46
47template <typename T>
49 typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value>::type* = 0
50 )
51{
52 core::make_update_apply_builder<regular_formulas::data_expression_builder>(data::detail::translate_user_notation_function()).update(x);
53}
54
55template <typename T>
57 typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value>::type* = nullptr
58 )
59{
60 T result;
61 core::make_update_apply_builder<regular_formulas::data_expression_builder>(data::detail::translate_user_notation_function()).apply(result, x);
62 return result;
63}
64
65} // namespace regular_formulas
66
67namespace state_formulas
68{
69
70template <typename T>
72 typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value>::type* = 0
73 )
74{
75 core::make_update_apply_builder<state_formulas::data_expression_builder>(data::detail::translate_user_notation_function()).update(x);
76}
77
78template <typename T>
80 typename std::enable_if< std::is_base_of< atermpp::aterm, T >::value>::type* = nullptr
81 )
82{
83 T result;
84 core::make_update_apply_builder<state_formulas::data_expression_builder>(data::detail::translate_user_notation_function()).apply(result, x);
85 return result;
86}
87
88} // namespace state_formulas
89
90} // namespace mcrl2
91
92#endif // MCRL2_MODAL_FORMULA_TRANSLATE_USER_NOTATION_H
add your file description here.
add your file description here.
void translate_user_notation(T &x, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=0)
void translate_user_notation(T &x, typename std::enable_if< !std::is_base_of< atermpp::aterm, T >::value >::type *=0)
state_formulas::state_formula translate_user_notation(const state_formulas::state_formula &x)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Definition indexed_set.h:72