mCRL2
Loading...
Searching...
No Matches
identifier_string.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_CORE_IDENTIFIER_STRING_H
13#define MCRL2_CORE_IDENTIFIER_STRING_H
14
17
18namespace mcrl2
19{
20
21namespace core
22{
23
27
28//--- start generated class identifier_string ---//
31
33typedef std::vector<identifier_string> identifier_string_vector;
34
35// prototype declaration
36std::string pp(const identifier_string& x);
37
42inline
43std::ostream& operator<<(std::ostream& out, const identifier_string& x)
44{
45 return out << core::pp(x);
46}
47
50{
51 t1.swap(t2);
52}
53//--- end generated class identifier_string ---//
54
58inline
60{
61 return t.type_is_appl() && t.size() == 0;
62}
63
66inline
68{
69 return atermpp::empty_string();
70}
71
72} // namespace core
73
74} // namespace mcrl2
75
76
77namespace std {
78
80template<>
81struct hash<mcrl2::core::identifier_string>
82{
83 std::size_t operator()(const mcrl2::core::identifier_string& x) const
84 {
85 return std::hash<atermpp::aterm>()(x);
86 }
87};
88
89} // namespace std
90
91#endif // MCRL2_CORE_IDENTIFIER_STRING_H
Term containing a string.
size_type size() const
Returns the number of arguments of this term.
Definition aterm.h:151
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
bool type_is_appl() const noexcept
Dynamic check whether the term is an aterm.
Definition aterm_core.h:55
add your file description here.
const aterm_string & empty_string()
Returns the empty aterm_string.
void swap(identifier_string &t1, identifier_string &t2)
\brief swap overload
identifier_string empty_identifier_string()
Provides the empty identifier string.
std::vector< identifier_string > identifier_string_vector
\brief vector of identifier_strings
std::string pp(const identifier_string &x)
Definition core.cpp:26
atermpp::term_list< identifier_string > identifier_string_list
\brief list of identifier_strings
atermpp::aterm_string identifier_string
String type of the LPS library. Identifier strings are represented internally as ATerms.
std::ostream & operator<<(std::ostream &out, const identifier_string &x)
bool is_identifier_string(const atermpp::aterm &t)
Tests if a term is an identifier string.
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...
Definition indexed_set.h:72
STL namespace.
std::size_t operator()(const mcrl2::core::identifier_string &x) const
#define hash(l, r, m)
Definition tree_set.cpp:23