metaSMT git
Classes | Namespaces | Typedefs | Functions | Variables

metaSMT/frontend/Logic.hpp File Reference

#include "../tags/Logics.hpp"
#include "../impl/_var_id.hpp"
#include <boost/proto/core.hpp>

Go to the source code of this file.

Classes

struct  metaSMT::logic::Binary_Predicate
struct  metaSMT::logic::Predicate_Grammar
struct  metaSMT::logic::Predicate_Domain
struct  metaSMT::logic::Predicate< Expr >

Namespaces

namespace  metaSMT
namespace  metaSMT::logic

Typedefs

typedef
proto::result_of::make_expr
< proto::tag::terminal,
Predicate_Domain, tag::var_tag >
::type 
metaSMT::logic::predicate

Functions

template<typename Expr >
void metaSMT::logic::check (Predicate< Expr > const &)
template<typename Expr >
void metaSMT::logic::check_not (Predicate< Expr > const &)
template<typename E1 , typename E2 >
proto::result_of::make_expr
< tag::equal_tag,
Predicate_Domain, E1 const
&, E2 const & >::type 
metaSMT::logic::equal (E1 const &e1, E2 const &e2)
template<typename E1 , typename E2 >
proto::result_of::make_expr
< tag::nequal_tag,
Predicate_Domain, E1 const
&, E2 const & >::type 
metaSMT::logic::nequal (E1 const &e1, E2 const &e2)
template<typename E1 , typename E2 >
proto::result_of::make_expr
< tag::implies_tag,
Predicate_Domain, E1 const
&, E2 const & >::type 
metaSMT::logic::implies (E1 const &e1, E2 const &e2)
template<typename E1 , typename E2 >
proto::result_of::make_expr
< tag::and_tag,
Predicate_Domain, E1 const
&, E2 const & >::type 
metaSMT::logic::And (E1 const &e1, E2 const &e2)
template<typename E1 , typename E2 >
proto::result_of::make_expr
< tag::nand_tag,
Predicate_Domain, E1 const
&, E2 const & >::type 
metaSMT::logic::Nand (E1 const &e1, E2 const &e2)
template<typename E1 , typename E2 >
proto::result_of::make_expr
< tag::or_tag,
Predicate_Domain, E1 const
&, E2 const & >::type 
metaSMT::logic::Or (E1 const &e1, E2 const &e2)
template<typename E1 , typename E2 >
proto::result_of::make_expr
< tag::nor_tag,
Predicate_Domain, E1 const
&, E2 const & >::type 
metaSMT::logic::Nor (E1 const &e1, E2 const &e2)
template<typename E1 , typename E2 >
proto::result_of::make_expr
< tag::xor_tag,
Predicate_Domain, E1 const
&, E2 const & >::type 
metaSMT::logic::Xor (E1 const &e1, E2 const &e2)
template<typename E1 , typename E2 >
proto::result_of::make_expr
< tag::xnor_tag,
Predicate_Domain, E1 const
&, E2 const & >::type 
metaSMT::logic::Xnor (E1 const &e1, E2 const &e2)
template<typename E1 , typename E2 , typename E3 >
proto::result_of::make_expr
< tag::ite_tag,
Predicate_Domain, E1 const
&, E2 const &, E3 const & >
::type 
metaSMT::logic::Ite (E1 const &e1, E2 const &e2, E3 const &e3)
predicate metaSMT::logic::new_variable ()
template<typename E1 >
proto::result_of::make_expr
< tag::not_tag,
Predicate_Domain, E1 const & >
::type 
metaSMT::logic::Not (E1 const &e1)
template<typename E1 , typename E2 , typename E3 >
proto::result_of::make_expr
< tag::ite_tag,
Predicate_Domain, E1 const
&, E2 const &, E3 const & >
::type 
metaSMT::logic::implies (E1 const &e1, E2 const &e2, E3 const &e3)

Variables

Predicate< proto::terminal
< tag::true_tag >::type >
const 
metaSMT::logic::True
Predicate< proto::terminal
< tag::false_tag >::type >
const 
metaSMT::logic::False
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines