mCRL2
Loading...
Searching...
No Matches
index_traits.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_DATA_INDEX_TRAITS_H
13#define MCRL2_DATA_INDEX_TRAITS_H
14
16
17namespace mcrl2 {
18
19namespace data {
20
21inline
23{
24 const data::function_symbol& v = atermpp::down_cast<const data::function_symbol>(t);
25#ifndef NDEBUG
27 std::size_t i = function_symbol_index_trait_type::insert(std::make_pair(v.name(), v.sort()));
28 assert(i==function_symbol_index_trait_type::index(v));
29#endif
31}
32
33inline
35{
37}
38
39} // namespace data
40
41} // namespace mcrl2
42
43#endif // MCRL2_DATA_INDEX_TRAITS_H
\brief A function symbol
const core::identifier_string & name() const
const sort_expression & sort() const
The class function symbol.
const atermpp::function_symbol & function_symbol_OpId()
void register_function_symbol_hooks()
void on_delete_function_symbol(const atermpp::aterm &t)
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Definition indexed_set.h:72
For several variable types in mCRL2 an implicit mapping of these variables to integers is available....
static void erase(const KeyType &x)
Note: intended for internal use only! Removes the variable from the index map.