souffle
2.0.2-371-g6315b36
|
Abstract class for a relational algebra operation. More...
#include <Operation.h>
Public Member Functions | |
Operation * | 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 | |
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 Member Functions inherited from souffle::ram::Node | |
virtual bool | equal (const Node &) const |
Equality check for two RAM nodes. More... | |
Static Protected Member Functions | |
static void | print (const Operation *operation, std::ostream &os, int tabpos) |
Pretty print jump-bed. More... | |
Friends | |
class | Query |
Abstract class for a relational algebra operation.
Definition at line 34 of file Operation.h.
|
overridepure virtual |
Create a clone (i.e.
deep copy) of this node
Implements souffle::ram::Node.
Implemented in souffle::ram::NestedOperation, souffle::ram::AbstractConditional, souffle::ram::RelationOperation, souffle::ram::TupleOperation, souffle::ram::IndexOperation, souffle::ram::IndexChoice, souffle::ram::NestedIntrinsicOperator, souffle::ram::Project, souffle::ram::UnpackRecord, souffle::ram::Choice, souffle::ram::Aggregate, souffle::ram::SubroutineReturn, souffle::ram::ParallelIndexChoice, souffle::ram::IndexAggregate, souffle::ram::ParallelIndexScan, souffle::ram::IndexScan, souffle::ram::ParallelAggregate, souffle::ram::ParallelIndexAggregate, souffle::ram::ParallelChoice, souffle::ram::ParallelScan, souffle::ram::Break, souffle::ram::Filter, and souffle::ram::Scan.
|
inlinestaticprotected |
Pretty print jump-bed.
Definition at line 46 of file Operation.h.
|
inlineoverrideprotectedvirtual |
Print RAM node.
Implements souffle::ram::Node.
Definition at line 39 of file Operation.h.
Referenced by souffle::ram::NestedOperation::apply().
|
protectedpure virtual |
Pretty print with indentation.
Implemented in souffle::ram::IndexChoice, souffle::ram::NestedIntrinsicOperator, souffle::ram::Project, souffle::ram::UnpackRecord, souffle::ram::IndexAggregate, souffle::ram::SubroutineReturn, souffle::ram::Choice, souffle::ram::NestedOperation, souffle::ram::ParallelIndexChoice, souffle::ram::Aggregate, souffle::ram::ParallelIndexScan, souffle::ram::IndexScan, souffle::ram::ParallelIndexAggregate, souffle::ram::ParallelAggregate, souffle::ram::ParallelChoice, souffle::ram::ParallelScan, souffle::ram::Break, souffle::ram::Filter, and souffle::ram::Scan.
|
friend |
Definition at line 50 of file Operation.h.