souffle
2.0.2-371-g6315b36
|
A conjunction of conditions. More...
#include <Conjunction.h>
Public Member Functions | |
void | apply (const NodeMapper &map) override |
Apply the mapper to all child nodes. More... | |
Conjunction * | clone () const override |
Create a clone (i.e. More... | |
Conjunction (Own< Condition > l, Own< Condition > r) | |
std::vector< const Node * > | getChildNodes () const override |
Obtain list of all embedded child nodes. More... | |
const Condition & | getLHS () const |
Get left-hand side of conjunction. More... | |
const Condition & | getRHS () const |
Get right-hand side of conjunction. More... | |
Public Member Functions inherited from souffle::ram::Node | |
bool | operator!= (const Node &other) const |
Inequality check for two RAM nodes. More... | |
bool | operator== (const Node &other) const |
Equivalence check for two RAM nodes. More... | |
virtual void | rewrite (const Node *oldNode, Own< Node > newNode) |
Rewrite a child node. More... | |
virtual | ~Node ()=default |
Protected Member Functions | |
bool | equal (const Node &node) const override |
Equality check for two RAM nodes. More... | |
void | print (std::ostream &os) const override |
Print RAM node. More... | |
Protected Attributes | |
Own< Condition > | lhs |
Left-hand side of conjunction. More... | |
Own< Condition > | rhs |
Right-hand side of conjunction. More... | |
A conjunction of conditions.
Condition of the form "LHS and RHS", where LHS and RHS are conditions
For example:
Is a Conjunction, which may have LHS "C1" and RHS "C2 AND C3"
Definition at line 54 of file Conjunction.h.
|
inlineoverridevirtual |
Apply the mapper to all child nodes.
Reimplemented from souffle::ram::Node.
Definition at line 79 of file Conjunction.h.
|
inlineoverridevirtual |
Create a clone (i.e.
deep copy) of this node
Implements souffle::ram::Condition.
Definition at line 75 of file Conjunction.h.
|
inlineoverrideprotectedvirtual |
Equality check for two RAM nodes.
Default action is that nothing needs to be checked.
Reimplemented from souffle::ram::Node.
Definition at line 89 of file Conjunction.h.
|
inlineoverridevirtual |
Obtain list of all embedded child nodes.
Reimplemented from souffle::ram::Node.
Definition at line 71 of file Conjunction.h.
References lhs, souffle::map(), and rhs.
|
inline |
Get left-hand side of conjunction.
Definition at line 62 of file Conjunction.h.
Referenced by souffle::ram::analysis::ComplexityAnalysis::getComplexity().
|
inline |
Get right-hand side of conjunction.
Definition at line 67 of file Conjunction.h.
References souffle::clone(), Conjunction(), lhs, and rhs.
Referenced by souffle::ram::analysis::ComplexityAnalysis::getComplexity().
|
inlineoverrideprotectedvirtual |
Left-hand side of conjunction.
Definition at line 95 of file Conjunction.h.
Referenced by getChildNodes(), and getRHS().
Right-hand side of conjunction.
Definition at line 98 of file Conjunction.h.
Referenced by getChildNodes(), and getRHS().