CBMC
|
Specifics of how the object size lookup is implemented in SMT terms. More...
#include <smt_object_size.h>
Public Types | |
using | make_applicationt = smt_function_application_termt::factoryt< smt_command_functiont > |
Function which makes applications of the smt function. More... | |
Public Member Functions | |
smt_object_sizet () | |
smt_commandt | make_definition (std::size_t unique_id, smt_termt size) const |
Makes the command to define the resulting size of calling the object size function with unique_id . More... | |
Public Attributes | |
smt_declare_function_commandt | declaration |
The command for declaring the object size function. More... | |
make_applicationt | make_application |
Specifics of how the object size lookup is implemented in SMT terms.
This uses an uninterpreted function as a lookup. Because these functions must return the same result for a specific input, we can just assert the value of the function output for the inputs where we want to define specific ID input / size output pairs.
Definition at line 14 of file smt_object_size.h.
using smt_object_sizet::make_applicationt = smt_function_application_termt::factoryt<smt_command_functiont> |
Function which makes applications of the smt function.
Definition at line 21 of file smt_object_size.h.
smt_object_sizet::smt_object_sizet | ( | ) |
Definition at line 20 of file smt_object_size.cpp.
smt_commandt smt_object_sizet::make_definition | ( | std::size_t | unique_id, |
smt_termt | size | ||
) | const |
Makes the command to define the resulting size
of calling the object size function with unique_id
.
Definition at line 26 of file smt_object_size.cpp.
smt_declare_function_commandt smt_object_sizet::declaration |
The command for declaring the object size function.
The defined function takes a bit vector encoded unique object identifier and returns
Definition at line 19 of file smt_object_size.h.
make_applicationt smt_object_sizet::make_application |
Definition at line 23 of file smt_object_size.h.