Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
HashVisitor.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstddef>
4
6
7namespace storm {
8namespace expressions {
9
10class Expression;
11class BaseExpression;
12
22 private:
27 std::size_t hashExpression(BaseExpression const& expression);
28
29 public:
33 std::size_t hash(storm::expressions::Expression const& expression);
34
35 virtual boost::any visit(IfThenElseExpression const& expression, boost::any const& data) override;
36 virtual boost::any visit(BinaryBooleanFunctionExpression const& expression, boost::any const& data) override;
37 virtual boost::any visit(BinaryNumericalFunctionExpression const& expression, boost::any const& data) override;
38 virtual boost::any visit(BinaryRelationExpression const& expression, boost::any const& data) override;
39 virtual boost::any visit(VariableExpression const& expression, boost::any const& data) override;
40 virtual boost::any visit(UnaryBooleanFunctionExpression const& expression, boost::any const& data) override;
41 virtual boost::any visit(UnaryNumericalFunctionExpression const& expression, boost::any const& data) override;
42 virtual boost::any visit(BooleanLiteralExpression const& expression, boost::any const& data) override;
43 virtual boost::any visit(IntegerLiteralExpression const& expression, boost::any const& data) override;
44 virtual boost::any visit(RationalLiteralExpression const& expression, boost::any const& data) override;
45 virtual boost::any visit(PredicateExpression const& expression, boost::any const& data) override;
46};
47
48} // namespace expressions
49} // namespace storm
The base class of all expression classes.
Computes a hash of an expression such that syntactically equal expressions hash to the same value.
Definition HashVisitor.h:21
virtual boost::any visit(IfThenElseExpression const &expression, boost::any const &data) override
std::size_t hash(storm::expressions::Expression const &expression)
Computes the hash of the given expression.
The base class of all binary expressions.