predicate.h
Go to the documentation of this file.
/********************* */
#include "cvc4_public.h"
#ifndef __CVC4__PREDICATE_H
#define __CVC4__PREDICATE_H
#include "util/exception.h"
namespace CVC4 {
class Predicate;
std::ostream& operator<<(std::ostream& out, const Predicate& p) CVC4_PUBLIC;
struct CVC4_PUBLIC PredicateHashFunction {
size_t operator()(const Predicate& p) const;
};/* class PredicateHashFunction */
}/* CVC4 namespace */
#include "expr/expr.h"
namespace CVC4 {
class CVC4_PUBLIC Predicate {
Expr d_predicate;
Expr d_witness;
public:
Predicate(Expr e, Expr w = Expr()) throw(IllegalArgumentException);
operator Expr() const;
bool operator==(const Predicate& p) const;
friend std::ostream& CVC4::operator<<(std::ostream& out, const Predicate& p);
friend size_t PredicateHashFunction::operator()(const Predicate& p) const;
};/* class Predicate */
}/* CVC4 namespace */
#endif /* __CVC4__PREDICATE_H */
Expr
void * Expr
Definition c_interface_defs.h:46
CVC4::Expr
Class encapsulating CVC4 expressions and methods for constructing new expressions.
Definition expr.h:227
CVC4::IllegalArgumentException
Definition exception.h:79
CVC4::Predicate
Definition predicate.h:42
CVC4::Predicate::Predicate
Predicate(Expr e, Expr w=Expr())
cvc4_public.h
Macros that should be defined everywhere during the building of the libraries and driver binary,...
CVC4_PUBLIC
#define CVC4_PUBLIC
Definition cvc4_public.h:30
exception.h
CVC4's exception base class and some associated utilities.
expr.h
CVC4
Definition expr.h:106
CVC4::operator<<
std::ostream & operator<<(std::ostream &out, const TypeCheckingException &e)
std
STL namespace.
CVC4::PredicateHashFunction
Definition predicate.h:32
CVC4::PredicateHashFunction::operator()
size_t operator()(const Predicate &p) const