souffle
2.0.2-371-g6315b36
|
Abstract existence check for a tuple in a relation. More...
#include <AbstractExistenceCheck.h>
Public Member Functions | |
AbstractExistenceCheck (std::string rel, VecOwn< Expression > vals) | |
void | apply (const NodeMapper &map) override |
Apply the mapper to all child nodes. More... | |
std::vector< const Node * > | getChildNodes () const override |
Obtain list of all embedded child nodes. More... | |
const std::string & | getRelation () const |
Get relation. More... | |
const std::vector< Expression * > | getValues () const |
Get arguments of the tuple/pattern A null pointer element in the vector denotes an unspecified pattern for a tuple element. More... | |
Public Member Functions inherited from souffle::ram::Condition | |
Condition * | 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... | |
void | print (std::ostream &os) const override |
Print RAM node. More... | |
Protected Attributes | |
const std::string | relation |
Relation. More... | |
VecOwn< Expression > | values |
Search tuple. More... | |
Abstract existence check for a tuple in a relation.
Definition at line 47 of file AbstractExistenceCheck.h.
|
inline |
Definition at line 49 of file AbstractExistenceCheck.h.
References relation.
|
inlineoverridevirtual |
Apply the mapper to all child nodes.
Reimplemented from souffle::ram::Node.
Definition at line 78 of file AbstractExistenceCheck.h.
References souffle::join(), relation, and values.
|
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 AbstractExistenceCheck.h.
|
inlineoverridevirtual |
Obtain list of all embedded child nodes.
Reimplemented from souffle::ram::Node.
Definition at line 70 of file AbstractExistenceCheck.h.
References souffle::map(), and values.
|
inline |
Get relation.
Definition at line 57 of file AbstractExistenceCheck.h.
References souffle::toPtrVector(), and values.
|
inline |
Get arguments of the tuple/pattern A null pointer element in the vector denotes an unspecified pattern for a tuple element.
Definition at line 66 of file AbstractExistenceCheck.h.
|
inlineoverrideprotectedvirtual |
Print RAM node.
Implements souffle::ram::Node.
Reimplemented in souffle::ram::ProvenanceExistenceCheck.
Definition at line 85 of file AbstractExistenceCheck.h.
Referenced by souffle::ram::ProvenanceExistenceCheck::clone().
|
protected |
Definition at line 95 of file AbstractExistenceCheck.h.
Referenced by AbstractExistenceCheck(), and apply().
|
protected |
Search tuple.
Definition at line 98 of file AbstractExistenceCheck.h.
Referenced by apply(), getChildNodes(), and getRelation().