ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
algorithm< T > Class Template Referenceabstract

Base interface to run an algorithm in esbmc. More...

#include <algorithm.h>

Public Member Functions

 algorithm (bool sideeffect)
virtual ~algorithm ()=default
virtual bool run (T &)=0
 Executes the algorithm over a T object.
bool has_sideeffect ()
 Says wether the algorithm is a plain analysis or if it also changes the structure.

Protected Attributes

const bool sideeffect

Detailed Description

template<typename T>
class algorithm< T >

Base interface to run an algorithm in esbmc.

Constructor & Destructor Documentation

◆ algorithm()

template<typename T>
algorithm< T >::algorithm ( bool sideeffect)
inline

◆ ~algorithm()

template<typename T>
virtual algorithm< T >::~algorithm ( )
virtualdefault

Member Function Documentation

◆ has_sideeffect()

template<typename T>
bool algorithm< T >::has_sideeffect ( )
inline

Says wether the algorithm is a plain analysis or if it also changes the structure.

◆ run()

template<typename T>
virtual bool algorithm< T >::run ( T & )
pure virtual

Executes the algorithm over a T object.

Returns
success of the algorithm

Implemented in apply_intrinsic_unroller, assertion_cache, claim_slicer, goto_functions_algorithm, simple_slice, ssa_features, symex_slicet, and symmetry_breakingt.

Member Data Documentation

◆ sideeffect

template<typename T>
const bool algorithm< T >::sideeffect
protected

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