CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
refined_string_type.cpp
Go to the documentation of this file.
1/********************************************************************\
2
3Module: Type for string expressions used by the string solver.
4 These string expressions contain a field `length`, of type
5 `index_type`, a field `content` of type `content_type`.
6 This module also defines functions to recognise the C and java
7 string types.
8
9Author: Romain Brenguier, romain.brenguier@diffblue.com
10
11\*******************************************************************/
12
18
19#include "refined_string_type.h"
20
21#include "pointer_expr.h"
22
24 const typet &index_type,
26 : struct_typet({{"length", index_type}, {"content", content_type}})
27{
28 set_tag(CPROVER_PREFIX"refined_string_type");
29}
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
The pointer type These are both 'bitvector_typet' (they have a width) and 'type_with_subtypet' (they ...
refined_string_typet(const typet &index_type, const pointer_typet &content_type)
Structure type, corresponds to C style structs.
Definition std_types.h:231
The type of an expression, extends irept.
Definition type.h:29
#define CPROVER_PREFIX
API to expression classes for Pointers.
Type for string expressions used by the string solver.