CBMC
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
constant_exprt Class Reference

A constant literal expression. More...

#include <std_expr.h>

+ Inheritance diagram for constant_exprt:
+ Collaboration diagram for constant_exprt:

Public Member Functions

  constant_exprt (const irep_idt &_value, typet _type)
 
 
 
  Returns true if expr has a pointer type and a value NULL; it also returns true when expr has value zero and NULL_is_zero is true; returns false in all other cases.
 
  Return whether the expression lhs is a constant of Boolean type that is representing the Boolean value rhs.
 
  Return whether the expression lhs is not a constant of Boolean type or is not representing the Boolean value rhs.
 
  Return whether the expression lhs is a constant of Boolean type that is representing the Boolean value rhs.
 
  Return whether the expression lhs is not a constant of Boolean type or is not representing the Boolean value rhs.
 
bool  operator== (std::nullptr_t) const
  Return whether the expression lhs is a constant representing the NULL pointer.
 
bool  operator!= (std::nullptr_t) const
  Returns the negation of operator==(const exprt &, std::nullptr_t).
 
 
 
- Public Member Functions inherited from nullary_exprt
 
  remove all operand methods
 
 
 
exprtop0 ()=delete
 
 
exprtop1 ()=delete
 
 
exprtop2 ()=delete
 
 
exprtop3 ()=delete
 
 
 
 
- Public Member Functions inherited from exprt
  exprt ()
 
 
  exprt (irep_idt _id, typet _type)
 
 
 
typettype ()
  Return the type of the expression.
 
 
  Return true if there is at least one operand.
 
 
 
  Add the source location from location, if it is non-nil.
 
  Add the source location from location, if it is non-nil.
 
  Add the source location from other, if it has any.
 
  Add the source location from other, if it has any.
 
void  reserve_operands (operandst::size_type n)
 
  Copy the given argument to the end of exprt's operands.
 
  Add the given argument to the end of exprt's operands.
 
  Add the given argument to the end of exprt's operands.
 
  Add the given arguments to the end of exprt's operands.
 
  Add the given arguments to the end of exprt's operands.
 
  Return whether the expression is a constant.
 
  Return whether the expression is a constant representing true.
 
  Return whether the expression is a constant representing false.
 
  Return whether the expression is a constant representing 0.
 
  Return whether the expression is a constant representing 1.
 
  Return whether the expression represents a Boolean.
 
  Get a source_locationt from the expression or from its operands (non-recursively).
 
 
 
 
  These are pre-order traversal visitors, i.e., the visitor is executed on a node before its children have been visited.
 
 
void  visit_pre (std::function< void(exprt &)>)
 
void  visit_pre (std::function< void(const exprt &)>) const
 
void  visit_post (std::function< void(exprt &)>)
  These are post-order traversal visitors, i.e., the visitor is executed on a node after its children have been visited.
 
void  visit_post (std::function< void(const exprt &)>) const
 
 
 
 
 
 
 
depth_iteratort  depth_begin (std::function< exprt &()> mutate_root) const
 
 
 
 
 
- Public Member Functions inherited from irept
 
 
 
 
  irept ()=default
 
 
const std::string &  id_string () const
 
void  id (const irep_idt &_data)
 
 
ireptadd (const irep_idt &name)
 
ireptadd (const irep_idt &name, irept irep)
 
const std::string &  get_string (const irep_idt &name) const
 
 
 
 
std::size_t  get_size_t (const irep_idt &name) const
 
 
void  set (const irep_idt &name, const irep_idt &value)
 
void  set (const irep_idt &name, irept irep)
 
void  set (const irep_idt &name, const long long value)
 
void  set_size_t (const irep_idt &name, const std::size_t value)
 
 
 
 
 
 
void  swap (irept &irep)
 
  defines ordering on the internal representation
 
  defines ordering on the internal representation
 
  defines ordering on the internal representation comments are ignored
 
void  clear ()
 
 
subtget_sub ()
 
 
 
 
std::size_t  hash () const
 
std::size_t  full_hash () const
 
 
std::string  pretty (unsigned indent=0, unsigned max_indent=0) const
 
- Public Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
 
 
 
 
 
 
 
 
const dtread () const
 
dtwrite ()
 

Static Public Member Functions

 
 
- Static Public Member Functions inherited from nullary_exprt
 
 
- Static Public Member Functions inherited from exprt
  Check that the expression is well-formed (shallow checks only, i.e., subexpressions and its type are not checked).
 
  Check that the expression is well-formed, assuming that its subexpressions and type have all ready been checked for well-formedness.
 
  Check that the expression is well-formed (full check, including checks of all subexpressions and the type)
 
- Static Public Member Functions inherited from irept
 
  count the number of named_sub elements that are not comments
 

Protected Member Functions

 
- Protected Member Functions inherited from expr_protectedt
 
 
exprtop0 ()
 
const exprtop0 () const
 
exprtop1 ()
 
const exprtop1 () const
 
exprtop2 ()
 
const exprtop2 () const
 
exprtop3 ()
 
const exprtop3 () const
 
- Protected Member Functions inherited from exprt
exprtop0 ()
 
exprtop1 ()
 
exprtop2 ()
 
exprtop3 ()
 
const exprtop0 () const
 
const exprtop1 () const
 
const exprtop2 () const
 
const exprtop3 () const
 
 
 
- Protected Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
void  detach ()
 

Additional Inherited Members

- Public Types inherited from exprt
typedef std::vector< exprtoperandst
 
- Public Types inherited from irept
 
 
 
 
  Used to refer to this class from derived classes.
 
- Static Protected Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
 
  Does the same as remove_ref, but using an explicit stack instead of recursion.
 
dtdata
 
- Static Protected Attributes inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
 

Detailed Description

A constant literal expression.

Definition at line 3006 of file std_expr.h.

Constructor & Destructor Documentation

◆  constant_exprt()

constant_exprt::constant_exprt ( const irep_idt_value,
typet  _type 
)
inline

Definition at line 3009 of file std_expr.h.

Member Function Documentation

◆  check()

void constant_exprt::check ( const exprtexpr,
)
static

Definition at line 210 of file std_expr.cpp.

◆  get_value()

const irep_idt & constant_exprt::get_value ( ) const
inline

Definition at line 3015 of file std_expr.h.

◆  is_null_pointer()

bool constant_exprt::is_null_pointer ( ) const

Returns true if expr has a pointer type and a value NULL; it also returns true when expr has value zero and NULL_is_zero is true; returns false in all other cases.

Definition at line 170 of file std_expr.cpp.

◆  operator!=() [1/4]

bool constant_exprt::operator!= ( bool  rhs ) const

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

Definition at line 47 of file std_expr.cpp.

◆  operator!=() [2/4]

bool irept::operator!= ( const ireptother ) const
inline

Definition at line 429 of file irep.h.

◆  operator!=() [3/4]

bool constant_exprt::operator!= ( int  rhs ) const

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

Definition at line 164 of file std_expr.cpp.

◆  operator!=() [4/4]

bool constant_exprt::operator!= ( std::nullptr_t  rhs ) const

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

Definition at line 204 of file std_expr.cpp.

◆  operator==() [1/4]

bool constant_exprt::operator== ( bool  rhs ) const

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

Definition at line 42 of file std_expr.cpp.

◆  operator==() [2/4]

bool irept::operator== ( const ireptother ) const

Definition at line 427 of file irep.cpp.

◆  operator==() [3/4]

bool constant_exprt::operator== ( int  rhs ) const

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

Definition at line 68 of file std_expr.cpp.

◆  operator==() [4/4]

bool constant_exprt::operator== ( std::nullptr_t  rhs ) const

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

Definition at line 198 of file std_expr.cpp.

◆  set_value()

void constant_exprt::set_value ( const irep_idtvalue )
inline

Definition at line 3020 of file std_expr.h.

◆  validate()

static void constant_exprt::validate ( const exprtexpr,
)
inlinestatic

Definition at line 3049 of file std_expr.h.

◆  value_is_zero_string()

bool constant_exprt::value_is_zero_string ( ) const
protected

Definition at line 26 of file std_expr.cpp.


The documentation for this class was generated from the following files:

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