metaSMT 2
Public Types | Public Member Functions
metaSMT::BitBlast< PredicateSolver > Struct Template Reference

#include <BitBlast.hpp>

List of all members.

Public Types

typedef
PredicateSolver::result_type 
result_base
typedef std::vector< result_basebv_result
typedef boost::mpl::vector2
< result_base, bv_result >
::type 
result_types_vec
typedef
boost::make_variant_over
< result_types_vec >::type 
result_type

Public Member Functions

void assertion (result_type e)
void assumption (result_type e)
bool solve ()
result_type operator() (bvtags::var_tag var, boost::any arg)
result_type operator() (bvtags::bvand_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvnand_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvor_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvnor_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvnot_tag, result_type arg1)
result_type operator() (bvtags::bvxor_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvxnor_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvult_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvugt_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvsgt_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvslt_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvule_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvuge_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvsge_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvsle_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvadd_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvmul_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvneg_tag, result_type arg1)
result_type operator() (bvtags::bvudiv_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvsdiv_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvsrem_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvhex_tag, boost::any arg)
result_type operator() (bvtags::bvurem_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvsub_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvcomp_tag, result_type arg1, result_type arg2)
result_type operator() (bvtags::zero_extend_tag, unsigned width, result_type arg1)
result_type operator() (bvtags::sign_extend_tag, unsigned width, result_type arg1)
result_type operator() (predtags::equal_tag eq, result_type arg1, result_type arg2)
result_type operator() (predtags::nequal_tag neq, result_type arg1, result_type arg2)
result_type operator() (bvtags::bvbin_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::bit0_tag, boost::any arg)
result_type operator() (bvtags::bit1_tag, boost::any arg)
result_type operator() (bvtags::bvshr_tag, result_type arg1, result_type value)
result_type operator() (bvtags::bvshl_tag, result_type arg1, result_type value)
result_type operator() (bvtags::bvashr_tag, result_type arg1, result_type value)
result_type operator() (predtags::ite_tag, result_type arg1, result_type arg2, result_type arg3)
result_type operator() (bvtags::extract_tag const &, unsigned long upper, unsigned long lower, result_type e)
result_type operator() (bvtags::concat_tag const &, result_type e1, result_type e2)
result_wrapper read_value (result_type var)
result_wrapper read_value (result_base var)
result_wrapper read_value (bv_result const &vars)
template<typename TagT , typename Any >
result_type operator() (TagT tag, 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 (BitBlast< PredicateSolver > const &)

Detailed Description

template<typename PredicateSolver>
struct metaSMT::BitBlast< PredicateSolver >

Definition at line 21 of file BitBlast.hpp.


Member Typedef Documentation

template<typename PredicateSolver >
typedef std::vector< result_base > metaSMT::BitBlast< PredicateSolver >::bv_result

Definition at line 24 of file BitBlast.hpp.

template<typename PredicateSolver >
typedef PredicateSolver::result_type metaSMT::BitBlast< PredicateSolver >::result_base

Definition at line 23 of file BitBlast.hpp.

template<typename PredicateSolver >
typedef boost::make_variant_over< result_types_vec >::type metaSMT::BitBlast< PredicateSolver >::result_type

Definition at line 31 of file BitBlast.hpp.

template<typename PredicateSolver >
typedef boost::mpl::vector2< result_base, bv_result >::type metaSMT::BitBlast< PredicateSolver >::result_types_vec

Definition at line 28 of file BitBlast.hpp.


Member Function Documentation

template<typename PredicateSolver >
void metaSMT::BitBlast< PredicateSolver >::assertion ( result_type  e) [inline]

Definition at line 34 of file BitBlast.hpp.

template<typename PredicateSolver >
void metaSMT::BitBlast< PredicateSolver >::assumption ( result_type  e) [inline]

Definition at line 38 of file BitBlast.hpp.

template<typename PredicateSolver >
void metaSMT::BitBlast< PredicateSolver >::command ( BitBlast< PredicateSolver > const &  ) [inline]

Definition at line 961 of file BitBlast.hpp.

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

Definition at line 934 of file BitBlast.hpp.

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

Definition at line 927 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvhex_tag  ,
boost::any  arg 
) [inline]

Definition at line 502 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::var_tag  var,
boost::any  arg 
) [inline]

Definition at line 46 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvnor_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 101 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvule_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 292 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::concat_tag const &  ,
result_type  e1,
result_type  e2 
) [inline]

Definition at line 870 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::extract_tag const &  ,
unsigned long  upper,
unsigned long  lower,
result_type  e 
) [inline]

Definition at line 860 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( predtags::ite_tag  ,
result_type  arg1,
result_type  arg2,
result_type  arg3 
) [inline]

Definition at line 833 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvashr_tag  ,
result_type  arg1,
result_type  value 
) [inline]

Definition at line 811 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvshl_tag  ,
result_type  arg1,
result_type  value 
) [inline]

Definition at line 791 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvshr_tag  ,
result_type  arg1,
result_type  value 
) [inline]

Definition at line 770 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bit1_tag  ,
boost::any  arg 
) [inline]

Definition at line 765 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bit0_tag  ,
boost::any  arg 
) [inline]

Definition at line 760 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvsint_tag  ,
boost::any  arg 
) [inline]

Definition at line 744 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvuint_tag  ,
boost::any  arg 
) [inline]

Definition at line 727 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( predtags::equal_tag  eq,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 656 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( predtags::nequal_tag  neq,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 683 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvuge_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 330 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::sign_extend_tag  ,
unsigned  width,
result_type  arg1 
) [inline]

Definition at line 645 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::zero_extend_tag  ,
unsigned  width,
result_type  arg1 
) [inline]

Definition at line 636 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvcomp_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 627 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvsub_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 620 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvurem_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 615 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvugt_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 193 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvsrem_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 497 of file BitBlast.hpp.

template<typename PredicateSolver >
template<typename TagT , typename Any >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( TagT  tag,
Any  args 
) [inline]

Definition at line 916 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvudiv_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 487 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvneg_tag  ,
result_type  arg1 
) [inline]

Definition at line 475 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvmul_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 457 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvadd_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 430 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvsle_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 398 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvbin_tag  ,
boost::any  arg 
) [inline]

Definition at line 711 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvnot_tag  ,
result_type  arg1 
) [inline]

Definition at line 116 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvsge_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 364 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvslt_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 259 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvsgt_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 225 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvult_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 161 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvsdiv_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 492 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvxnor_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 145 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvand_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 55 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvxor_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 130 of file BitBlast.hpp.

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

Definition at line 947 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvor_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 86 of file BitBlast.hpp.

template<typename PredicateSolver >
result_type metaSMT::BitBlast< PredicateSolver >::operator() ( bvtags::bvnand_tag  ,
result_type  arg1,
result_type  arg2 
) [inline]

Definition at line 71 of file BitBlast.hpp.

template<typename PredicateSolver >
result_wrapper metaSMT::BitBlast< PredicateSolver >::read_value ( result_base  var) [inline]

Definition at line 891 of file BitBlast.hpp.

template<typename PredicateSolver >
result_wrapper metaSMT::BitBlast< PredicateSolver >::read_value ( bv_result const &  vars) [inline]

Definition at line 896 of file BitBlast.hpp.

template<typename PredicateSolver >
result_wrapper metaSMT::BitBlast< PredicateSolver >::read_value ( result_type  var) [inline]

Definition at line 882 of file BitBlast.hpp.

template<typename PredicateSolver >
bool metaSMT::BitBlast< PredicateSolver >::solve ( ) [inline]

Definition at line 42 of file BitBlast.hpp.


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