metaSMT 2
Classes | Namespaces | Defines | Typedefs
metaSMT/tags/QF_BV.hpp File Reference
#include "Logic.hpp"
#include <boost/mpl/vector/vector40.hpp>
#include <boost/variant.hpp>

Go to the source code of this file.

Classes

struct  metaSMT::logic::QF_BV::tag::var_tag

Namespaces

namespace  metaSMT
namespace  metaSMT::logic
namespace  metaSMT::logic::QF_BV
 

SMT Qantifier Free Bit-Vector Theory.


namespace  metaSMT::logic::QF_BV::tag
 

tags for SMT metaSMT::logic::QF_BV


Defines

#define PRINT(Tag, body)
#define TAG(NAME)

Typedefs

typedef boost::mpl::vector39
< nil, bit0_tag, bit1_tag,
bvnot_tag, bvneg_tag,
bvand_tag, bvnand_tag,
bvor_tag, bvnor_tag, bvxor_tag,
bvxnor_tag, bvcomp_tag,
bvadd_tag, bvmul_tag,
bvsub_tag, bvsrem_tag,
bvsdiv_tag, bvurem_tag,
bvudiv_tag, bvuint_tag,
bvsint_tag, bvbin_tag,
bvhex_tag, bvslt_tag,
bvsgt_tag, bvsle_tag,
bvsge_tag, bvult_tag,
bvugt_tag, bvule_tag,
bvuge_tag, concat_tag,
extract_tag, zero_extend_tag,
sign_extend_tag, bvshl_tag,
bvshr_tag, bvashr_tag, var_tag >
::type 
metaSMT::logic::QF_BV::tag::QF_BV_Tags
typedef
boost::make_variant_over
< QF_BV_Tags >::type 
metaSMT::logic::QF_BV::tag::QF_BV_Tag

Define Documentation

#define PRINT (   Tag,
  body 
)
Value:
template<typename STREAM> \
  friend STREAM & operator<< (STREAM & out, Tag const & self) \
  { return (out << body); }

Definition at line 18 of file QF_BV.hpp.

#define TAG (   NAME)
Value:
struct  NAME##_tag { \
  bool operator<(NAME##_tag const &) const {return false;} \
  PRINT(NAME##_tag, #NAME) \
};

Definition at line 21 of file QF_BV.hpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines