metaSMT git
Classes | Public Types | Public Member Functions

metaSMT::solver::Boolector Class Reference

The Boolector backend. More...

#include <metaSMT/backend/Boolector.hpp>

List of all members.

Classes

struct  BoolectorAssertion
struct  Btor_F2

Public Types

typedef BtorExp * result_type

Public Member Functions

 Boolector ()
 ~Boolector ()
void assertion (result_type e)
void assumption (result_type e)
bool solve ()
result_wrapper read_value (result_type var)
result_type operator() (predtags::var_tag const &var, boost::any args)
result_type operator() (predtags::false_tag, boost::any arg)
result_type operator() (predtags::true_tag, boost::any arg)
result_type operator() (predtags::not_tag, result_type a)
result_type operator() (bvtags::var_tag const &var, boost::any args)
result_type operator() (bvtags::bit0_tag, boost::any arg)
result_type operator() (bvtags::bit1_tag, boost::any arg)
result_type operator() (bvtags::bvuint_tag, boost::any arg)
result_type operator() (bvtags::bvsint_tag, boost::any arg)
result_type operator() (bvtags::bvbin_tag, boost::any arg)
result_type operator() (bvtags::bvhex_tag, boost::any arg)
result_type operator() (bvtags::bvnot_tag, result_type a)
result_type operator() (bvtags::bvneg_tag, result_type a)
result_type operator() (bvtags::extract_tag const &, unsigned long upper, unsigned long lower, result_type e)
result_type operator() (bvtags::zero_extend_tag const &, unsigned long width, result_type e)
result_type operator() (bvtags::sign_extend_tag const &, unsigned long width, result_type e)
result_type operator() (arraytags::array_var_tag const &var, boost::any args)
result_type operator() (arraytags::select_tag const &, result_type array, result_type index)
result_type operator() (arraytags::store_tag const &, result_type array, result_type index, result_type value)
result_type operator() (predtags::ite_tag tag, result_type a, result_type b, result_type c)
template<typename TagT >
result_type operator() (TagT tag, boost::any args)
template<typename TagT >
result_type operator() (TagT tag, result_type a)
template<typename TagT >
result_type operator() (TagT tag, result_type a, result_type b)
template<typename TagT >
result_type operator() (TagT tag, result_type a, result_type b, result_type c)
void command (Boolector const &)

Detailed Description

The Boolector backend.

Definition at line 32 of file Boolector.hpp.


Member Typedef Documentation

Definition at line 44 of file Boolector.hpp.


Constructor & Destructor Documentation

metaSMT::solver::Boolector::Boolector ( ) [inline]

Definition at line 46 of file Boolector.hpp.

metaSMT::solver::Boolector::~Boolector ( ) [inline]

Definition at line 54 of file Boolector.hpp.


Member Function Documentation

void metaSMT::solver::Boolector::assertion ( result_type  e) [inline]

Definition at line 58 of file Boolector.hpp.

void metaSMT::solver::Boolector::assumption ( result_type  e) [inline]

Definition at line 62 of file Boolector.hpp.

void metaSMT::solver::Boolector::command ( Boolector const &  ) [inline]

Definition at line 334 of file Boolector.hpp.

template<typename TagT >
result_type metaSMT::solver::Boolector::operator() ( TagT  tag,
result_type  a,
result_type  b 
) [inline]

Definition at line 264 of file Boolector.hpp.

template<typename TagT >
result_type metaSMT::solver::Boolector::operator() ( TagT  tag,
result_type  a 
) [inline]

Definition at line 253 of file Boolector.hpp.

template<typename TagT >
result_type metaSMT::solver::Boolector::operator() ( TagT  tag,
boost::any  args 
) [inline]

Definition at line 247 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( bvtags::bvbin_tag  ,
boost::any  arg 
) [inline]

Definition at line 125 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( arraytags::store_tag const &  ,
result_type  array,
result_type  index,
result_type  value 
) [inline]

Definition at line 231 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( arraytags::select_tag const &  ,
result_type  array,
result_type  index 
) [inline]

Definition at line 225 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( arraytags::array_var_tag const &  var,
boost::any  args 
) [inline]

Definition at line 219 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( bvtags::sign_extend_tag const &  ,
unsigned long  width,
result_type  e 
) [inline]

Definition at line 212 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( bvtags::zero_extend_tag const &  ,
unsigned long  width,
result_type  e 
) [inline]

Definition at line 205 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( bvtags::extract_tag const &  ,
unsigned long  upper,
unsigned long  lower,
result_type  e 
) [inline]

Definition at line 198 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( predtags::not_tag  ,
result_type  a 
) [inline]

Definition at line 91 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( bvtags::bvnot_tag  ,
result_type  a 
) [inline]

Definition at line 190 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( bvtags::bvhex_tag  ,
boost::any  arg 
) [inline]

Definition at line 130 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( predtags::true_tag  ,
boost::any  arg 
) [inline]

Definition at line 87 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( bvtags::bvsint_tag  ,
boost::any  arg 
) [inline]

Definition at line 119 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( predtags::ite_tag  tag,
result_type  a,
result_type  b,
result_type  c 
) [inline]

Definition at line 238 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( bvtags::bit1_tag  ,
boost::any  arg 
) [inline]

Definition at line 106 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( bvtags::bit0_tag  ,
boost::any  arg 
) [inline]

Definition at line 102 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( bvtags::bvneg_tag  ,
result_type  a 
) [inline]

Definition at line 194 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( bvtags::var_tag const &  var,
boost::any  args 
) [inline]

Definition at line 96 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( predtags::false_tag  ,
boost::any  arg 
) [inline]

Definition at line 83 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( bvtags::bvuint_tag  ,
boost::any  arg 
) [inline]

Definition at line 110 of file Boolector.hpp.

result_type metaSMT::solver::Boolector::operator() ( predtags::var_tag const &  var,
boost::any  args 
) [inline]

Definition at line 78 of file Boolector.hpp.

template<typename TagT >
result_type metaSMT::solver::Boolector::operator() ( TagT  tag,
result_type  a,
result_type  b,
result_type  c 
) [inline]

Definition at line 328 of file Boolector.hpp.

result_wrapper metaSMT::solver::Boolector::read_value ( result_type  var) [inline]

Definition at line 70 of file Boolector.hpp.

bool metaSMT::solver::Boolector::solve ( ) [inline]

Definition at line 66 of file Boolector.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines