CodeSonar C++ API
[For improved navigation, enable JavaScript.]
Public Types | Public Member Functions | Related Functions | List of all members
cs::step_xform Class Reference

A program state transform along a path in the CFG. More...

Public Types

typedef cs_step_csonar_xform_t ctype
 

Public Member Functions

 step_xform (const step_xform &other)
 
std::string as_repr () const
 Get a representation of a step_xform object that includes information useful for debugging. More...
 
std::string as_string () const
 Get a simple string representation of a step_xform object. More...
 
cs_hash_t hash () const
 Get a hash value for a step_xform. More...
 
xform_query_result query (const xform_expr &lhs, xform_operator op, const xform_expr &rhs) const
 Issue a query with respect to a program state transformation (step_xform). More...
 
xform_query_bounds_result query_bounds (const xform_expr &expr)
 Get bounds on an expression with respect to a program state transformation (step_xform). More...
 

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &out, const step_xform &a)
 Print a representation of a step_xform object to the specified stream. More...
 

Detailed Description

A program state transform along a path in the CFG.

Used by step visitors (step_state) to describe program transformations for step_state::transition().

Member Function Documentation

◆ as_repr()

std::string cs::step_xform::as_repr ( ) const
inline

Get a representation of a step_xform object that includes information useful for debugging.

Returns
The string representation.

◆ as_string()

std::string cs::step_xform::as_string ( ) const
inline

Get a simple string representation of a step_xform object.

Returns
The string representation.

◆ hash()

cs_hash_t cs::step_xform::hash ( ) const
inline

Get a hash value for a step_xform.

◆ query()

xform_query_result cs::step_xform::query ( const xform_expr lhs,
xform_operator  op,
const xform_expr rhs 
) const
inline

Issue a query with respect to a program state transformation (step_xform).

Parameters
[in]lhsThe left hand side of the query expression.
[in]opThe operator in the query expression.
[in]rhsThe right hand side of the query expression.
Returns
The query result, as a xform_query_result.
Exceptions
result::ERROR_INVALID_ATTRIBUTEif the attribute in lhs or rhs does not exist.
result::PATH_INFEASIBLEif the transform cannot occur.

◆ query_bounds()

xform_query_bounds_result cs::step_xform::query_bounds ( const xform_expr expr)
inline

Get bounds on an expression with respect to a program state transformation (step_xform).

Parameters
[in]exprThe query expression.
Returns
The bounds, as an xform_query_bounds_result.

Friends And Related Function Documentation

◆ operator<<()

std::ostream & operator<< ( std::ostream &  out,
const step_xform a 
)
related

Print a representation of a step_xform object to the specified stream.

Parameters
[in]outThe stream to print to.
[in]aThe step_xform object to print.
Returns
void

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