CBMC
|
#include "string_refinement_util.h"
#include <numeric>
#include <util/arith_tools.h>
#include <util/expr_util.h>
#include <util/magic.h>
#include <util/namespace.h>
#include <util/std_expr.h>
#include <util/unicode.h>
Go to the source code of this file.
Functions | |
bool | is_char_type (const typet &type) |
For now, any unsigned bitvector type of width smaller or equal to 16 is considered a character. | |
bool | is_char_array_type (const typet &type, const namespacet &ns) |
Distinguish char array from other types. | |
bool | is_char_pointer_type (const typet &type) |
For now, any unsigned bitvector type is considered a character. | |
bool | has_char_pointer_subtype (const typet &type, const namespacet &ns) |
bool | has_char_array_subexpr (const exprt &expr, const namespacet &ns) |
std::string | utf16_constant_array_to_java (const array_exprt &arr, std::size_t length) |
Construct a string from a constant array. | |
bool has_char_array_subexpr | ( | const exprt & | expr, |
const namespacet & | ns | ||
) |
expr | an expression |
ns | namespace |
expr
is an array of characters Definition at line 45 of file string_refinement_util.cpp.
bool has_char_pointer_subtype | ( | const typet & | type, |
const namespacet & | ns | ||
) |
type | a type |
ns | namespace |
type
is an pointer of characters. The meaning of "subtype" is in the algebraic datatype sense: for example, the subtypes of a struct are the types of its components, the subtype of a pointer is the type it points to, etc... Definition at line 40 of file string_refinement_util.cpp.
bool is_char_array_type | ( | const typet & | type, |
const namespacet & | ns | ||
) |
Distinguish char array from other types.
For now, any unsigned bitvector type is considered a character.
type | a type |
ns | namespace |
Definition at line 26 of file string_refinement_util.cpp.
For now, any unsigned bitvector type is considered a character.
type | a type |
Definition at line 34 of file string_refinement_util.cpp.
For now, any unsigned bitvector type of width smaller or equal to 16 is considered a character.
type | a type |
Definition at line 20 of file string_refinement_util.cpp.
std::string utf16_constant_array_to_java | ( | const array_exprt & | arr, |
std::size_t | length | ||
) |
Construct a string from a constant array.
arr | an array expression containing only constants |
length | an unsigned value representing the length of the array |
length
represented by the array assuming each field in arr
represents a character. Definition at line 52 of file string_refinement_util.cpp.