|
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 558 of file pointer_expr.h.
|
inline |
Definition at line 1239 of file pointer_expr.h.
|
inline |
Definition at line 1533 of file pointer_expr.h.
|
inline |
Definition at line 871 of file pointer_expr.h.
|
inline |
Definition at line 299 of file pointer_expr.h.
|
inline |
Definition at line 795 of file pointer_expr.h.
|
inline |
Definition at line 708 of file pointer_expr.h.
|
inline |
Definition at line 1475 of file pointer_expr.h.
|
inline |
Definition at line 354 of file pointer_expr.h.
|
inline |
Definition at line 1589 of file pointer_expr.h.
|
inline |
Definition at line 624 of file pointer_expr.h.
|
inline |
Definition at line 235 of file pointer_expr.h.
|
inline |
Definition at line 1438 of file pointer_expr.h.
|
inline |
Definition at line 421 of file pointer_expr.h.
|
inline |
Definition at line 1356 of file pointer_expr.h.
|
inline |
Definition at line 1298 of file pointer_expr.h.
|
inline |
Definition at line 503 of file pointer_expr.h.
|
inline |
Definition at line 1131 of file pointer_expr.h.
|
inline |
Definition at line 1080 of file pointer_expr.h.
|
inline |
Definition at line 1179 of file pointer_expr.h.
|
inline |
Definition at line 966 of file pointer_expr.h.
|
inline |
Definition at line 936 of file pointer_expr.h.
|
inline |
Definition at line 1699 of file pointer_expr.h.
|
inline |
Definition at line 995 of file pointer_expr.h.
|
inline |
Definition at line 1645 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 574 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 583 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 1257 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 1268 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 1549 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 1558 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 887 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 896 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 811 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 821 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 724 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 734 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 1491 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 1500 of file pointer_expr.h.
|
inline |
Definition at line 365 of file pointer_expr.h.
|
inline |
Definition at line 374 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 1605 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 1614 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 640 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 650 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 1420 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 1429 of file pointer_expr.h.
|
inline |
Definition at line 431 of file pointer_expr.h.
|
inline |
Definition at line 440 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 1375 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 1385 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 1317 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 1327 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 515 of file pointer_expr.h.
|
inline |
Definition at line 526 of file pointer_expr.h.
|
inline |
Definition at line 1141 of file pointer_expr.h.
|
inline |
Definition at line 1092 of file pointer_expr.h.
|
inline |
Definition at line 1189 of file pointer_expr.h.
|
inline |
Definition at line 976 of file pointer_expr.h.
|
inline |
Definition at line 946 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 1714 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 1723 of file pointer_expr.h.
|
inline |
Definition at line 1005 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 1661 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 1671 of file pointer_expr.h.
|
inline |
Definition at line 563 of file pointer_expr.h.
|
inline |
Definition at line 1244 of file pointer_expr.h.
|
inline |
Definition at line 1538 of file pointer_expr.h.
|
inline |
Definition at line 876 of file pointer_expr.h.
|
inline |
Definition at line 304 of file pointer_expr.h.
|
inline |
Definition at line 800 of file pointer_expr.h.
|
inline |
Definition at line 713 of file pointer_expr.h.
|
inline |
Definition at line 1480 of file pointer_expr.h.
|
inline |
Definition at line 359 of file pointer_expr.h.
|
inline |
Definition at line 1594 of file pointer_expr.h.
|
inline |
Definition at line 629 of file pointer_expr.h.
|
inline |
Definition at line 240 of file pointer_expr.h.
|
inline |
Definition at line 1443 of file pointer_expr.h.
|
inline |
Definition at line 426 of file pointer_expr.h.
|
inline |
Definition at line 1361 of file pointer_expr.h.
|
inline |
Definition at line 1303 of file pointer_expr.h.
|
inline |
Definition at line 508 of file pointer_expr.h.
|
inline |
Definition at line 1136 of file pointer_expr.h.
|
inline |
Definition at line 1086 of file pointer_expr.h.
|
inline |
Definition at line 1184 of file pointer_expr.h.
|
inline |
Definition at line 971 of file pointer_expr.h.
|
inline |
Definition at line 941 of file pointer_expr.h.
|
inline |
Definition at line 1704 of file pointer_expr.h.
|
inline |
Definition at line 1000 of file pointer_expr.h.
|
inline |
Definition at line 1650 of file pointer_expr.h.