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 
26 namespace CVC4 {
27 
28 class Expr;
29 struct ExprHashFunction;
30 class Type;
31 struct TypeHashFunction;
32 
38  std::hash_map<Expr, Expr, ExprHashFunction> d_variables;
39 
44  std::hash_map<Type, Type, TypeHashFunction> d_types;
45 
46 public:
47  Expr& operator[](Expr e) { return d_variables[e]; }
48  Type& operator[](Type t) { return d_types[t]; }
49 
50 };/* class VariableTypeMap */
51 
52 typedef __gnu_cxx::hash_map<uint64_t, uint64_t> VarMap;
53 
56  VarMap d_to;
57  VarMap d_from;
58 };/* struct ExprManagerMapCollection */
59 
60 }/* CVC4 namespace */
61 
62 #endif /* __CVC4__VARIABLE_MAP_H */
void * Expr
Class encapsulating CVC4 expressions and methods for constructing new expressions.
Definition: expr.h:227
__gnu_cxx::hash_map< uint64_t, uint64_t > VarMap
Definition: options.h:76
Expr & operator[](Expr e)
Class encapsulating CVC4 expression types.
Definition: type.h:89
[[ Add one-line brief description here ]]
#define CVC4_PUBLIC
Definition: cvc4_public.h:30
Macros that should be defined everywhere during the building of the libraries and driver binary...
Type & operator[](Type t)
expr.h
void * Type