|
CBMC
|
#include <util/expr.h>#include <solvers/smt2_incremental/object_tracking.h>#include <solvers/smt2_incremental/smt_object_size.h>#include <solvers/smt2_incremental/smt_terms.h>#include <unordered_map>
Include dependency graph for type_size_mapping.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Typedefs | |
| using | type_size_mapt = std::unordered_map< typet, smt_termt, irep_full_hash > |
Functions | |
| 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. More... | |
Utilities for making a map of types to associated sizes.
Definition in file type_size_mapping.h.
| using type_size_mapt = std::unordered_map<typet, smt_termt, irep_full_hash> |
Definition at line 17 of file type_size_mapping.h.
| 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.
| expression | the expression we're building the map for. |
| ns | A namespace - passed to size_of_expr to lookup type symbols in case the pointers have type tag_typet, rather than a more completely defined type. |
| type_size_map | A map of types to terms expressing the size of the type (in bytes). This function adds new entries to the map for instances of pointer.base_type() from expression which are not already keys in the map. |
| object_map | passed through to convert_expr_to_smt |
| object_size | passed through to convert_expr_to_smt |
Definition at line 13 of file type_size_mapping.cpp.