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