souffle
2.0.2-371-g6315b36
|
Abstract class for an operator/functor. More...
#include <AbstractOperator.h>
Public Member Functions | |
AbstractOperator (VecOwn< Expression > args) | |
void | apply (const NodeMapper &map) override |
Apply the mapper to all child nodes. More... | |
std::vector< Expression * > | getArguments () const |
Get argument values. More... | |
std::vector< const Node * > | getChildNodes () const override |
Obtain list of all embedded child nodes. More... | |
Public Member Functions inherited from souffle::ram::Expression | |
Expression * | clone () const override=0 |
Create a clone (i.e. 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... | |
Protected Member Functions inherited from souffle::ram::Node | |
virtual void | print (std::ostream &out=std::cout) const =0 |
Print RAM node. More... | |
Protected Attributes | |
VecOwn< Expression > | arguments |
Arguments of user defined operator. More... | |
Abstract class for an operator/functor.
Definition at line 40 of file AbstractOperator.h.
|
inlineexplicit |
Definition at line 42 of file AbstractOperator.h.
References arguments, and souffle::toPtrVector().
|
inlineoverridevirtual |
Apply the mapper to all child nodes.
Reimplemented from souffle::ram::Node.
Definition at line 61 of file AbstractOperator.h.
References arguments, and souffle::equal_targets().
|
inlineoverrideprotectedvirtual |
Equality check for two RAM nodes.
Default action is that nothing needs to be checked.
Reimplemented from souffle::ram::Node.
Reimplemented in souffle::ram::UserDefinedOperator, and souffle::ram::IntrinsicOperator.
Definition at line 68 of file AbstractOperator.h.
|
inline |
Get argument values.
Definition at line 49 of file AbstractOperator.h.
|
inlineoverridevirtual |
Obtain list of all embedded child nodes.
Reimplemented from souffle::ram::Node.
Definition at line 53 of file AbstractOperator.h.
|
protected |
Arguments of user defined operator.
Definition at line 74 of file AbstractOperator.h.
Referenced by AbstractOperator(), and apply().