cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
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
>
// IWYU pragma: keep
10
11
#include <
solvers/smt2_incremental/ast/smt_terms.h
>
// IWYU pragma: keep
12
#include <
solvers/smt2_incremental/object_tracking.h
>
// IWYU pragma: keep
13
#include <
solvers/smt2_incremental/smt_is_dynamic_object.h
>
14
#include <
solvers/smt2_incremental/smt_object_size.h
>
// IWYU pragma: keep
15
16
#include <unordered_map>
// IWYU pragma: keep
17
18
using
type_size_mapt
= std::unordered_map<typet, smt_termt, irep_hash>;
19
33
void
associate_pointer_sizes
(
34
const
exprt
&expression,
35
const
namespacet
&ns,
36
type_size_mapt
&type_size_map,
37
const
smt_object_mapt
&object_map,
38
const
smt_object_sizet::make_applicationt
&
object_size
,
39
const
smt_is_dynamic_objectt::make_applicationt
&is_dynamic_object);
40
41
#endif
exprt
Base class for all expressions.
Definition
expr.h:57
namespacet
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition
namespace.h:91
expr.h
object_tracking.h
Data structures and algorithms used by smt2_incremental_decision_proceduret to track data about the o...
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:90
object_size
exprt object_size(const exprt &pointer)
Definition
pointer_predicates.cpp:33
smt_is_dynamic_object.h
smt_object_size.h
smt_terms.h
smt_is_dynamic_objectt::make_applicationt
smt_function_application_termt::factoryt< smt_command_functiont > make_applicationt
Function which makes applications of the smt function.
Definition
smt_is_dynamic_object.h:22
smt_object_sizet::make_applicationt
smt_function_application_termt::factoryt< smt_command_functiont > make_applicationt
Function which makes applications of the smt function.
Definition
smt_object_size.h:21
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, const smt_is_dynamic_objectt::make_applicationt &is_dynamic_object)
This function populates the (pointer) type -> size map.
Definition
type_size_mapping.cpp:13
type_size_mapt
std::unordered_map< typet, smt_termt, irep_hash > type_size_mapt
Definition
type_size_mapping.h:18
solvers
smt2_incremental
type_size_mapping.h
Generated by
1.17.0