souffle
2.0.2-371-g6315b36
|
Abstract class for a binary relation. More...
#include <BinRelationStatement.h>
Public Member Functions | |
BinRelationStatement (std::string f, std::string s) | |
const std::string & | getFirstRelation () const |
Get first relation. More... | |
const std::string & | getSecondRelation () const |
Get second relation. More... | |
Public Member Functions inherited from souffle::ram::Statement | |
Statement * | clone () const override=0 |
Create a clone (i.e. More... | |
Public Member Functions inherited from souffle::ram::Node | |
virtual void | apply (const NodeMapper &) |
Apply the mapper to all child nodes. More... | |
virtual std::vector< const Node * > | getChildNodes () const |
Obtain list of all embedded child nodes. More... | |
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... | |
Protected Member Functions inherited from souffle::ram::Statement | |
void | print (std::ostream &os) const override |
Print RAM node. More... | |
virtual void | print (std::ostream &os, int tabpos) const =0 |
Pretty print with indentation. More... | |
Protected Attributes | |
const std::string | first |
First relation. More... | |
const std::string | second |
Second relation. More... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from souffle::ram::Statement | |
static void | print (const Statement *statement, std::ostream &os, int tabpos) |
Pretty print jump-bed. More... | |
Abstract class for a binary relation.
Comprises two Relations
Definition at line 41 of file BinRelationStatement.h.
|
inline |
Definition at line 43 of file BinRelationStatement.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 56 of file BinRelationStatement.h.
|
inline |
Get first relation.
Definition at line 46 of file BinRelationStatement.h.
References second.
Referenced by souffle::ram::Swap::clone(), and souffle::interpreter::NodeGenerator::visitExtend().
|
inline |
Get second relation.
Definition at line 51 of file BinRelationStatement.h.
Referenced by souffle::ram::Swap::clone(), souffle::ram::Extend::getSourceRelation(), and souffle::interpreter::NodeGenerator::visitExtend().
|
protected |
First relation.
Definition at line 63 of file BinRelationStatement.h.
Referenced by getSecondRelation(), and souffle::ram::Extend::getTargetRelation().
|
protected |
Second relation.
Definition at line 66 of file BinRelationStatement.h.
Referenced by getFirstRelation(), getSecondRelation(), and souffle::ram::Extend::getTargetRelation().