cvc4-1.4
variable_type_map.h
Go to the documentation of this file.
1/********************* */
18#include "cvc4_public.h"
19
20#ifndef __CVC4__VARIABLE_TYPE_MAP_H
21#define __CVC4__VARIABLE_TYPE_MAP_H
22
23#include "expr/expr.h"
24#include "util/hash.h"
25
26namespace CVC4 {
27
28class Expr;
29struct ExprHashFunction;
30class Type;
31struct TypeHashFunction;
32
38 std::hash_map<Expr, Expr, ExprHashFunction> d_variables;
39
44 std::hash_map<Type, Type, TypeHashFunction> d_types;
45
46public:
47 Expr& operator[](Expr e) { return d_variables[e]; }
48 Type& operator[](Type t) { return d_types[t]; }
49
50};/* class VariableTypeMap */
51
52typedef __gnu_cxx::hash_map<uint64_t, uint64_t> VarMap;
53
58};/* struct ExprManagerMapCollection */
59
60}/* CVC4 namespace */
61
62#endif /* __CVC4__VARIABLE_MAP_H */
void * Expr
void * Type
Class encapsulating CVC4 expressions and methods for constructing new expressions.
Definition expr.h:227
Class encapsulating CVC4 expression types.
Definition type.h:89
Macros that should be defined everywhere during the building of the libraries and driver binary,...
#define CVC4_PUBLIC
Definition cvc4_public.h:30
[[ Add one-line brief description here ]]
Definition expr.h:106
__gnu_cxx::hash_map< uint64_t, uint64_t > VarMap