CBMC
Loading...
Searching...
No Matches
Functions
std_expr.cpp File Reference
#include "std_expr.h"
#include "arith_tools.h"
#include "config.h"
#include "expr_util.h"
#include "fixedbv.h"
#include "ieee_float.h"
#include "mathematical_types.h"
#include "namespace.h"
#include "pointer_expr.h"
#include "range.h"
#include "rational.h"
#include "rational_tools.h"
#include "substitute_symbols.h"
#include <map>
+ Include dependency graph for std_expr.cpp:

Go to the source code of this file.

Functions

bool  operator== (const exprt &lhs, bool rhs)
  Return whether the expression lhs is a constant of Boolean type that is representing the Boolean value rhs.
 
bool  operator!= (const exprt &lhs, bool rhs)
  Return whether the expression lhs is not a constant of Boolean type or is not representing the Boolean value rhs.
 
bool  operator== (const exprt &lhs, int rhs)
  Return whether the expression lhs is a constant representing the numeric value rhs; only values 0 and 1 are supported for rhs.
 
bool  operator!= (const exprt &lhs, int rhs)
  Returns the negation of operator==(const exprt &, int).
 
bool  operator== (const exprt &lhs, std::nullptr_t rhs)
  Return whether the expression lhs is a constant representing the NULL pointer.
 
bool  operator!= (const exprt &lhs, std::nullptr_t rhs)
  Returns the negation of operator==(const exprt &, std::nullptr_t).
 
  1) generates a disjunction for two or more operands 2) for one operand, returns the operand 3) returns false otherwise
 
  Conjunction of two expressions.
 
  1) generates a conjunction for two or more operands 2) for one operand, returns the operand 3) returns true otherwise
 
template<typename T >
auto  component (T &struct_expr, const irep_idt &name, const namespacet &ns) -> decltype(struct_expr.op0())
 

Function Documentation

◆  component()

template<typename T >
auto component ( T &  struct_expr,
const irep_idtname,
const namespacetns 
) -> decltype(struct_expr.op0())

Definition at line 291 of file std_expr.cpp.

◆  conjunction() [1/2]

exprt conjunction ( const exprt::operandstop )

1) generates a conjunction for two or more operands 2) for one operand, returns the operand 3) returns true otherwise

Definition at line 275 of file std_expr.cpp.

◆  conjunction() [2/2]

exprt conjunction ( exprt  a,
exprt  b 
)

Conjunction of two expressions.

If the second is already an and_exprt add to its operands instead of creating a new expression. If one is true, return the other expression. If one is false returns false.

Definition at line 252 of file std_expr.cpp.

◆  disjunction()

exprt disjunction ( const exprt::operandstop )

1) generates a disjunction for two or more operands 2) for one operand, returns the operand 3) returns false otherwise

Definition at line 240 of file std_expr.cpp.

◆  operator!=() [1/3]

bool operator!= ( const exprtlhs,
bool  rhs 
)

Return whether the expression lhs is not a constant of Boolean type or is not representing the Boolean value rhs.

Definition at line 37 of file std_expr.cpp.

◆  operator!=() [2/3]

bool operator!= ( const exprtlhs,
int  rhs 
)

Returns the negation of operator==(const exprt &, int).

Definition at line 60 of file std_expr.cpp.

◆  operator!=() [3/3]

bool operator!= ( const exprtlhs,
std::nullptr_t  rhs 
)

Returns the negation of operator==(const exprt &, std::nullptr_t).

Definition at line 192 of file std_expr.cpp.

◆  operator==() [1/3]

bool operator== ( const exprtlhs,
bool  rhs 
)

Return whether the expression lhs is a constant of Boolean type that is representing the Boolean value rhs.

Definition at line 32 of file std_expr.cpp.

◆  operator==() [2/3]

bool operator== ( const exprtlhs,
int  rhs 
)

Return whether the expression lhs is a constant representing the numeric value rhs; only values 0 and 1 are supported for rhs.

For value 0 we consider the following types: ID_integer, ID_natural, ID_rational, ID_unsignedbv, ID_signedbv, ID_c_bool, ID_c_bit_field, ID_fixedbv, ID_floatbv, ID_pointer.
For ID_pointer, returns true iff the value is a zero string or a null pointer.
For value 1 we consider the following types: ID_integer, ID_natural, ID_rational, ID_unsignedbv, ID_signedbv, ID_c_bool, ID_c_bit_field, ID_fixedbv, ID_floatbv.
For all other types, return false.

Definition at line 52 of file std_expr.cpp.

◆  operator==() [3/3]

bool operator== ( const exprtlhs,
std::nullptr_t  rhs 
)

Return whether the expression lhs is a constant representing the NULL pointer.

Definition at line 186 of file std_expr.cpp.

AltStyle によって変換されたページ (->オリジナル) /