souffle
2.0.2-371-g6315b36
|
Binary constraint class. More...
#include <BinaryConstraint.h>
Public Member Functions | |
void | apply (const NodeMapper &map) override |
BinaryConstraint (BinaryConstraintOp o, Own< Argument > ls, Own< Argument > rs, SrcLocation loc={}) | |
BinaryConstraint * | clone () const override |
BinaryConstraintOp | getBaseOperator () const |
Return binary operator. More... | |
std::vector< const Node * > | getChildNodes () const override |
std::optional< BinaryConstraintOp > | getFinalType () const |
Argument * | getLHS () const |
Return left-hand side argument. More... | |
Argument * | getRHS () const |
Return right-hand side argument. More... | |
void | setBaseOperator (BinaryConstraintOp op) |
Set binary operator. More... | |
void | setFinalType (BinaryConstraintOp newType) |
Public Member Functions inherited from souffle::ast::analysis::Constraint< Var > | |
virtual bool | update (Assignment< Var > &ass) const =0 |
Requests the given assignment to be updated according to this constraint. More... | |
virtual | ~Constraint ()=default |
A virtual destructor. More... | |
Protected Member Functions | |
bool | equal (const Node &node) const override |
void | print (std::ostream &os) const override |
Adds print support for constraints (debugging) More... | |
Protected Attributes | |
std::optional< BinaryConstraintOp > | finalTranslatorType |
Own< Argument > | lhs |
Left-hand side argument of binary constraint. More... | |
BinaryConstraintOp | operation |
Constraint (base) operator. More... | |
Own< Argument > | rhs |
Right-hand side argument of binary constraint. More... | |
Binary constraint class.
Example: x = y
A binary constraint has a constraint operator, a left-hand side expression, and right-hand side expression.
Definition at line 53 of file BinaryConstraint.h.
|
inline |
Definition at line 55 of file BinaryConstraint.h.
|
inlineoverride |
Definition at line 86 of file BinaryConstraint.h.
|
inlineoverride |
|
inlineoverrideprotected |
Definition at line 112 of file BinaryConstraint.h.
|
inline |
Return binary operator.
Definition at line 69 of file BinaryConstraint.h.
Referenced by souffle::ast::BindingStore::BindingStore(), and souffle::ast::transform::FoldAnonymousRecords::transformClause().
|
inlineoverride |
Definition at line 91 of file BinaryConstraint.h.
|
inline |
|
inline |
|
inline |
|
inlineoverrideprotectedvirtual |
Adds print support for constraints (debugging)
Implements souffle::ast::analysis::Constraint< Var >.
Definition at line 104 of file BinaryConstraint.h.
|
inline |
Set binary operator.
Definition at line 74 of file BinaryConstraint.h.
References souffle::detail::brie::copy(), and finalTranslatorType.
|
inline |
Definition at line 95 of file BinaryConstraint.h.
|
protected |
Definition at line 128 of file BinaryConstraint.h.
Referenced by setBaseOperator().
Left-hand side argument of binary constraint.
Definition at line 122 of file BinaryConstraint.h.
Referenced by apply(), and getFinalType().
|
protected |
Constraint (base) operator.
Definition at line 119 of file BinaryConstraint.h.
Referenced by getFinalType().
Right-hand side argument of binary constraint.
Definition at line 125 of file BinaryConstraint.h.
Referenced by apply(), and getFinalType().