CBMC
simplify_utils.h File Reference
#include "expr.h"
#include <string>
+ Include dependency graph for simplify_utils.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

bool sort_operands (exprt::operandst &operands)
 sort operands of an expression according to ordering defined by operator< More...
 
bool join_operands (exprt &expr)
 
bool sort_and_join (exprt &expr)
 
std::optional< exprtbits2expr (const std::string &bits, const typet &type, bool little_endian, const namespacet &ns)
 
std::optional< std::string > expr2bits (const exprt &, bool little_endian, const namespacet &ns)
 
std::optional< std::reference_wrapper< const array_exprt > > try_get_string_data_array (const exprt &content, const namespacet &ns)
 Get char sequence from content field of a refined string expression. More...
 

Function Documentation

◆ bits2expr()

std::optional<exprt> bits2expr ( const std::string &  bits,
const typet type,
bool  little_endian,
const namespacet ns 
)

Definition at line 196 of file simplify_utils.cpp.

◆ expr2bits()

std::optional<std::string> expr2bits ( const exprt expr,
bool  little_endian,
const namespacet ns 
)

Definition at line 414 of file simplify_utils.cpp.

◆ join_operands()

bool join_operands ( exprt expr)

Definition at line 191 of file simplify_utils.cpp.

◆ sort_and_join()

bool sort_and_join ( exprt expr)

Definition at line 186 of file simplify_utils.cpp.

◆ sort_operands()

bool sort_operands ( exprt::operandst operands)

sort operands of an expression according to ordering defined by operator<

parameters: operand list
Returns
modifies operand list returns true iff nothing was changed

Definition at line 28 of file simplify_utils.cpp.

◆ try_get_string_data_array()

std::optional<std::reference_wrapper<const array_exprt> > try_get_string_data_array ( const exprt content,
const namespacet ns 
)

Get char sequence from content field of a refined string expression.

If content is of the form &id[e], where id is an array-typed symbol expression (and e is any expression), return the value of the symbol id (as given by the value field of the symbol in the namespace ns); otherwise return an empty optional.

Parameters
contentcontent field of a refined string expression
nsnamespace
Returns
array expression representing the char sequence which forms the content of the refined string expression, empty optional if the content cannot be determined

Definition at line 489 of file simplify_utils.cpp.