CBMC
|
API to expression classes for Pointers. More...
Go to the source code of this file.
Classes | |
class | pointer_typet |
The pointer type These are both 'bitvector_typet' (they have a width) and 'type_with_subtypet' (they have a subtype) More... | |
class | reference_typet |
The reference type. More... | |
class | object_descriptor_exprt |
Split an expression into a base object and a (byte) offset. More... | |
class | dynamic_object_exprt |
Representation of heap-allocated objects. More... | |
class | is_dynamic_object_exprt |
Evaluates to true if the operand is a pointer to a dynamic object. More... | |
class | pointer_in_range_exprt |
pointer_in_range(a, b, c) evaluates to true iff same_object(a, b, c) ∧ r_ok(a, offset(c)-offset(a)) ∧ a<=b ∧ b<=c Note that the last inequality is weak, i.e., b may be equal to c. More... | |
class | prophecy_pointer_in_range_exprt |
pointer_in_range (see pointer_in_range_exprt) with prophecy expressions to encode whether a pointer refers to a deallocated or out-of-scope object. More... | |
class | address_of_exprt |
Operator to return the address of an object. More... | |
class | object_address_exprt |
Operator to return the address of an object. More... | |
class | field_address_exprt |
Operator to return the address of a field relative to a base address. More... | |
class | element_address_exprt |
Operator to return the address of an array element relative to a base address. More... | |
class | dereference_exprt |
Operator to dereference a pointer. More... | |
class | null_pointer_exprt |
The null pointer constant. More... | |
class | r_or_w_ok_exprt |
A base class for a predicate that indicates that an address range is ok to read or write or both. More... | |
class | r_ok_exprt |
A predicate that indicates that an address range is ok to read. More... | |
class | w_ok_exprt |
A predicate that indicates that an address range is ok to write. More... | |
class | prophecy_r_or_w_ok_exprt |
A base class for a predicate that indicates that an address range is ok to read or write or both. More... | |
class | prophecy_r_ok_exprt |
A predicate that indicates that an address range is ok to read. More... | |
class | prophecy_w_ok_exprt |
A predicate that indicates that an address range is ok to write. More... | |
class | annotated_pointer_constant_exprt |
Pointer-typed bitvector constant annotated with the pointer expression that the bitvector is the numeric representation of. More... | |
class | pointer_offset_exprt |
The offset (in bytes) of a pointer relative to the object. More... | |
class | pointer_object_exprt |
A numerical identifier for the object a pointer points to. More... | |
class | object_size_exprt |
Expression for finding the size (in bytes) of the object a pointer points to. More... | |
class | is_cstring_exprt |
A predicate that indicates that a zero-terminated string starts at the given address. More... | |
class | cstrlen_exprt |
An expression, akin to ISO C's strlen, that denotes the length of a zero-terminated string that starts at the given address. More... | |
class | live_object_exprt |
A predicate that indicates that the object pointed to is live. More... | |
class | writeable_object_exprt |
A predicate that indicates that the object pointed to is writeable. More... | |
class | separate_exprt |
A predicate that indicates that the objects pointed to are distinct. More... | |
API to expression classes for Pointers.
Definition in file pointer_expr.h.
|
inline |
Definition at line 561 of file pointer_expr.h.
|
inline |
Definition at line 1242 of file pointer_expr.h.
|
inline |
Definition at line 1536 of file pointer_expr.h.
|
inline |
Definition at line 874 of file pointer_expr.h.
|
inline |
Definition at line 299 of file pointer_expr.h.
|
inline |
Definition at line 798 of file pointer_expr.h.
|
inline |
Definition at line 711 of file pointer_expr.h.
|
inline |
Definition at line 1478 of file pointer_expr.h.
|
inline |
Definition at line 354 of file pointer_expr.h.
|
inline |
Definition at line 1592 of file pointer_expr.h.
|
inline |
Definition at line 627 of file pointer_expr.h.
|
inline |
Definition at line 235 of file pointer_expr.h.
|
inline |
Definition at line 1441 of file pointer_expr.h.
|
inline |
Definition at line 422 of file pointer_expr.h.
|
inline |
Definition at line 1359 of file pointer_expr.h.
|
inline |
Definition at line 1301 of file pointer_expr.h.
|
inline |
Definition at line 505 of file pointer_expr.h.
|
inline |
Definition at line 1134 of file pointer_expr.h.
|
inline |
Definition at line 1083 of file pointer_expr.h.
|
inline |
Definition at line 1182 of file pointer_expr.h.
|
inline |
Definition at line 969 of file pointer_expr.h.
|
inline |
Definition at line 939 of file pointer_expr.h.
|
inline |
Definition at line 1702 of file pointer_expr.h.
|
inline |
Definition at line 998 of file pointer_expr.h.
|
inline |
Definition at line 1648 of file pointer_expr.h.
|
inline |
Check whether a reference to a typet is a pointer_typet.
type | Source type. |
type
is a pointer_typet. Definition at line 80 of file pointer_expr.h.
|
inline |
Check whether a reference to a typet is a reference_typet.
type | Source type. |
type
is a reference_typet. Definition at line 149 of file pointer_expr.h.
bool is_reference | ( | const typet & | type | ) |
Returns true if the type is a reference.
Definition at line 145 of file std_types.cpp.
bool is_rvalue_reference | ( | const typet & | type | ) |
Returns if the type is an R value reference.
Definition at line 152 of file std_types.cpp.
|
inline |
This method tests, if the given typet is a pointer of type void.
Definition at line 110 of file pointer_expr.h.
|
inline |
Cast an exprt to an address_of_exprt.
expr must be known to be address_of_exprt.
expr | Source expression |
Definition at line 577 of file pointer_expr.h.
|
inline |
Cast an exprt to an address_of_exprt.
expr must be known to be address_of_exprt.
expr | Source expression |
Definition at line 586 of file pointer_expr.h.
|
inline |
Cast an exprt to an annotated_pointer_constant_exprt.
expr must be known to be annotated_pointer_constant_exprt.
expr | Source expression |
Definition at line 1260 of file pointer_expr.h.
|
inline |
Cast an exprt to an annotated_pointer_constant_exprt.
expr must be known to be annotated_pointer_constant_exprt.
expr | Source expression |
Definition at line 1271 of file pointer_expr.h.
|
inline |
Cast an exprt to a cstrlen_exprt.
expr must be known to be cstrlen_exprt.
expr | Source expression |
Definition at line 1552 of file pointer_expr.h.
|
inline |
Cast an exprt to a cstrlen_exprt.
expr must be known to be cstrlen_exprt.
expr | Source expression |
Definition at line 1561 of file pointer_expr.h.
|
inline |
Cast an exprt to a dereference_exprt.
expr must be known to be dereference_exprt.
expr | Source expression |
Definition at line 890 of file pointer_expr.h.
|
inline |
Cast an exprt to a dereference_exprt.
expr must be known to be dereference_exprt.
expr | Source expression |
Definition at line 899 of file pointer_expr.h.
|
inline |
Cast an exprt to a dynamic_object_exprt.
expr must be known to be dynamic_object_exprt.
expr | Source expression |
Definition at line 315 of file pointer_expr.h.
|
inline |
Cast an exprt to a dynamic_object_exprt.
expr must be known to be dynamic_object_exprt.
expr | Source expression |
Definition at line 325 of file pointer_expr.h.
|
inline |
Cast an exprt to an element_address_exprt.
expr must be known to be element_address_exprt.
expr | Source expression |
Definition at line 814 of file pointer_expr.h.
|
inline |
Cast an exprt to an element_address_exprt.
expr must be known to be element_address_exprt.
expr | Source expression |
Definition at line 824 of file pointer_expr.h.
|
inline |
Cast an exprt to an field_address_exprt.
expr must be known to be field_address_exprt.
expr | Source expression |
Definition at line 727 of file pointer_expr.h.
|
inline |
Cast an exprt to an field_address_exprt.
expr must be known to be field_address_exprt.
expr | Source expression |
Definition at line 737 of file pointer_expr.h.
|
inline |
Cast an exprt to a is_cstring_exprt.
expr must be known to be is_cstring_exprt.
expr | Source expression |
Definition at line 1494 of file pointer_expr.h.
|
inline |
Cast an exprt to a is_cstring_exprt.
expr must be known to be is_cstring_exprt.
expr | Source expression |
Definition at line 1503 of file pointer_expr.h.
|
inline |
Definition at line 365 of file pointer_expr.h.
|
inline |
Definition at line 375 of file pointer_expr.h.
|
inline |
Cast an exprt to a live_object_exprt.
expr must be known to be live_object_exprt.
expr | Source expression |
Definition at line 1608 of file pointer_expr.h.
|
inline |
Cast an exprt to a live_object_exprt.
expr must be known to be live_object_exprt.
expr | Source expression |
Definition at line 1617 of file pointer_expr.h.
|
inline |
Cast an exprt to an object_address_exprt.
expr must be known to be object_address_exprt.
expr | Source expression |
Definition at line 643 of file pointer_expr.h.
|
inline |
Cast an exprt to an object_address_exprt.
expr must be known to be object_address_exprt.
expr | Source expression |
Definition at line 653 of file pointer_expr.h.
|
inline |
Cast an exprt to an object_descriptor_exprt.
expr must be known to be object_descriptor_exprt.
expr | Source expression |
Definition at line 252 of file pointer_expr.h.
|
inline |
Cast an exprt to an object_descriptor_exprt.
expr must be known to be object_descriptor_exprt.
expr | Source expression |
Definition at line 262 of file pointer_expr.h.
|
inline |
Cast an exprt to a object_size_exprt.
expr must be known to be object_size_exprt.
expr | Source expression |
Definition at line 1423 of file pointer_expr.h.
|
inline |
Cast an exprt to a object_size_exprt.
expr must be known to be object_size_exprt.
expr | Source expression |
Definition at line 1432 of file pointer_expr.h.
|
inline |
Definition at line 432 of file pointer_expr.h.
|
inline |
Definition at line 442 of file pointer_expr.h.
|
inline |
Cast an exprt to a pointer_object_exprt.
expr must be known to be pointer_object_exprt.
expr | Source expression |
Definition at line 1378 of file pointer_expr.h.
|
inline |
Cast an exprt to a pointer_object_exprt.
expr must be known to be pointer_object_exprt.
expr | Source expression |
Definition at line 1388 of file pointer_expr.h.
|
inline |
Cast an exprt to a pointer_offset_exprt.
expr must be known to be pointer_offset_exprt.
expr | Source expression |
Definition at line 1320 of file pointer_expr.h.
|
inline |
Cast an exprt to a pointer_offset_exprt.
expr must be known to be pointer_offset_exprt.
expr | Source expression |
Definition at line 1330 of file pointer_expr.h.
|
inline |
Cast a typet to a pointer_typet.
This is an unchecked conversion. type must be known to be pointer_typet. Will fail with a precondition violation if type doesn't match.
type | Source type. |
Definition at line 93 of file pointer_expr.h.
|
inline |
Cast a typet to a pointer_typet.
This is an unchecked conversion. type must be known to be pointer_typet. Will fail with a precondition violation if type doesn't match.
type | Source type. |
Definition at line 101 of file pointer_expr.h.
|
inline |
Definition at line 517 of file pointer_expr.h.
|
inline |
Definition at line 529 of file pointer_expr.h.
|
inline |
Definition at line 1144 of file pointer_expr.h.
|
inline |
Definition at line 1095 of file pointer_expr.h.
|
inline |
Definition at line 1192 of file pointer_expr.h.
|
inline |
Definition at line 979 of file pointer_expr.h.
|
inline |
Definition at line 949 of file pointer_expr.h.
|
inline |
Cast a typet to a reference_typet.
This is an unchecked conversion. type must be known to be reference_typet. Will fail with a precondition violation if type doesn't match.
type | Source type. |
Definition at line 162 of file pointer_expr.h.
|
inline |
Cast a typet to a reference_typet.
This is an unchecked conversion. type must be known to be reference_typet. Will fail with a precondition violation if type doesn't match.
type | Source type. |
Definition at line 169 of file pointer_expr.h.
|
inline |
Cast an exprt to a separate_exprt.
expr must be known to be separate_exprt.
expr | Source expression |
Definition at line 1717 of file pointer_expr.h.
|
inline |
Cast an exprt to a separate_exprt.
expr must be known to be separate_exprt.
expr | Source expression |
Definition at line 1726 of file pointer_expr.h.
|
inline |
Definition at line 1008 of file pointer_expr.h.
|
inline |
Cast an exprt to a writeable_object_exprt.
expr must be known to be writeable_object_exprt.
expr | Source expression |
Definition at line 1664 of file pointer_expr.h.
|
inline |
Cast an exprt to a writeable_object_exprt.
expr must be known to be writeable_object_exprt.
expr | Source expression |
Definition at line 1674 of file pointer_expr.h.
|
inline |
Definition at line 566 of file pointer_expr.h.
|
inline |
Definition at line 1247 of file pointer_expr.h.
|
inline |
Definition at line 1541 of file pointer_expr.h.
|
inline |
Definition at line 879 of file pointer_expr.h.
|
inline |
Definition at line 304 of file pointer_expr.h.
|
inline |
Definition at line 803 of file pointer_expr.h.
|
inline |
Definition at line 716 of file pointer_expr.h.
|
inline |
Definition at line 1483 of file pointer_expr.h.
|
inline |
Definition at line 359 of file pointer_expr.h.
|
inline |
Definition at line 1597 of file pointer_expr.h.
|
inline |
Definition at line 632 of file pointer_expr.h.
|
inline |
Definition at line 240 of file pointer_expr.h.
|
inline |
Definition at line 1446 of file pointer_expr.h.
|
inline |
Definition at line 427 of file pointer_expr.h.
|
inline |
Definition at line 1364 of file pointer_expr.h.
|
inline |
Definition at line 1306 of file pointer_expr.h.
|
inline |
Definition at line 510 of file pointer_expr.h.
|
inline |
Definition at line 1139 of file pointer_expr.h.
|
inline |
Definition at line 1089 of file pointer_expr.h.
|
inline |
Definition at line 1187 of file pointer_expr.h.
|
inline |
Definition at line 974 of file pointer_expr.h.
|
inline |
Definition at line 944 of file pointer_expr.h.
|
inline |
Definition at line 1707 of file pointer_expr.h.
|
inline |
Definition at line 1003 of file pointer_expr.h.
|
inline |
Definition at line 1653 of file pointer_expr.h.