variable_type_map.h
Go to the documentation of this file.
/********************* */
#include "cvc4_public.h"
#ifndef __CVC4__VARIABLE_TYPE_MAP_H
#define __CVC4__VARIABLE_TYPE_MAP_H
#include "expr/expr.h"
#include "util/hash.h"
namespace CVC4 {
class Expr;
struct ExprHashFunction;
class Type;
struct TypeHashFunction;
class CVC4_PUBLIC VariableTypeMap {
std::hash_map<Expr, Expr, ExprHashFunction> d_variables;
std::hash_map<Type, Type, TypeHashFunction> d_types;
public:
Expr& operator[](Expr e) { return d_variables[e]; }
Type& operator[](Type t) { return d_types[t]; }
};/* class VariableTypeMap */
typedef __gnu_cxx::hash_map<uint64_t, uint64_t> VarMap;
struct CVC4_PUBLIC ExprManagerMapCollection {
VariableTypeMap d_typeMap;
VarMap d_to;
VarMap d_from;
};/* struct ExprManagerMapCollection */
}/* CVC4 namespace */
#endif /* __CVC4__VARIABLE_MAP_H */
Expr
void * Expr
Definition c_interface_defs.h:46
Type
void * Type
Definition c_interface_defs.h:48
CVC4::Expr
Class encapsulating CVC4 expressions and methods for constructing new expressions.
Definition expr.h:227
CVC4::Type
Class encapsulating CVC4 expression types.
Definition type.h:89
CVC4::VariableTypeMap
Definition variable_type_map.h:33
CVC4::VariableTypeMap::operator[]
Type & operator[](Type t)
Definition variable_type_map.h:48
CVC4::VariableTypeMap::operator[]
Expr & operator[](Expr e)
Definition variable_type_map.h:47
cvc4_public.h
Macros that should be defined everywhere during the building of the libraries and driver binary,...
CVC4_PUBLIC
#define CVC4_PUBLIC
Definition cvc4_public.h:30
expr.h
hash.h
[[ Add one-line brief description here ]]
CVC4
Definition expr.h:106
CVC4::VarMap
__gnu_cxx::hash_map< uint64_t, uint64_t > VarMap
Definition variable_type_map.h:52
CVC4::ExprManagerMapCollection
Definition variable_type_map.h:54
CVC4::ExprManagerMapCollection::d_typeMap
VariableTypeMap d_typeMap
Definition variable_type_map.h:55
CVC4::ExprManagerMapCollection::d_from
VarMap d_from
Definition variable_type_map.h:57
CVC4::ExprManagerMapCollection::d_to
VarMap d_to
Definition variable_type_map.h:56