![]() |
HAL
|
#include <types.h>
Public Member Functions | |
Constraint (BooleanFunction &&constraint) | |
Constraint (BooleanFunction &&lhs, BooleanFunction &&rhs) | |
std::string | to_string () const |
bool | is_assignment () const |
Result< const std::pair< BooleanFunction, BooleanFunction > * > | get_assignment () const |
Result< const BooleanFunction * > | get_function () const |
Public Attributes | |
std::variant< BooleanFunction, std::pair< BooleanFunction, BooleanFunction > > | constraint |
A constraint that is either an assignment of two Boolean functions or a single Boolean function, e.g., an equality check or similar. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &out, const Constraint &constraint) |
Represents a constraint to the SMT query. A constraint is either an assignment of two Boolean functions or a single Boolean function, e.g., an equality check or similar.
|
explicit |
|
explicit |
Result< const std::pair< BooleanFunction, BooleanFunction > * > hal::SMT::Constraint::get_assignment | ( | ) | const |
Returns the assignment constraint as a pair of Boolean functions.
Definition at line 178 of file types.cpp.
References constraint, ERR, is_assignment(), and OK.
Referenced by hal::SMT::SymbolicExecution::evaluate().
Result< const BooleanFunction * > hal::SMT::Constraint::get_function | ( | ) | const |
Returns the function constraint.
Definition at line 187 of file types.cpp.
References constraint, ERR, is_assignment(), and OK.
bool hal::SMT::Constraint::is_assignment | ( | ) | const |
Checks whether the constraint is an assignment constraint.
true
if the constraint is an assignment, false
otherwise. Definition at line 173 of file types.cpp.
References constraint.
Referenced by hal::SMT::SymbolicExecution::evaluate(), get_assignment(), get_function(), and hal::smt_init().
std::string hal::SMT::Constraint::to_string | ( | ) | const |
|
friend |
std::variant<BooleanFunction, std::pair<BooleanFunction, BooleanFunction> > hal::SMT::Constraint::constraint |
A constraint that is either an assignment of two Boolean functions or a single Boolean function, e.g., an equality check or similar.
Definition at line 154 of file types.h.
Referenced by get_assignment(), get_function(), is_assignment(), and hal::smt_init().