CBMC
type_size_mapping.h
Go to the documentation of this file.
1 // Author: Diffblue Ltd.
2 
5 
6 #ifndef CPROVER_SOLVERS_SMT2_INCREMENTAL_TYPE_SIZE_MAPPING_H
7 #define CPROVER_SOLVERS_SMT2_INCREMENTAL_TYPE_SIZE_MAPPING_H
8 
9 #include <util/expr.h>
10 
14 
15 #include <unordered_map>
16 
17 using type_size_mapt = std::unordered_map<typet, smt_termt, irep_full_hash>;
18 
32  const exprt &expression,
33  const namespacet &ns,
34  type_size_mapt &type_size_map,
35  const smt_object_mapt &object_map,
37 
38 #endif
object_tracking.h
associate_pointer_sizes
void associate_pointer_sizes(const exprt &expression, const namespacet &ns, type_size_mapt &type_size_map, const smt_object_mapt &object_map, const smt_object_sizet::make_applicationt &object_size)
This function populates the (pointer) type -> size map.
Definition: type_size_mapping.cpp:13
exprt
Base class for all expressions.
Definition: expr.h:55
expr.h
namespacet
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition: namespace.h:90
smt_object_size.h
object_size
exprt object_size(const exprt &pointer)
Definition: pointer_predicates.cpp:33
smt_function_application_termt::factoryt< smt_command_functiont >
smt_object_mapt
std::unordered_map< exprt, decision_procedure_objectt, irep_hash > smt_object_mapt
Mapping from an object's base expression to the set of information about it which we track.
Definition: object_tracking.h:89
type_size_mapt
std::unordered_map< typet, smt_termt, irep_full_hash > type_size_mapt
Definition: type_size_mapping.h:17
smt_terms.h