souffle  2.0.2-371-g6315b36
Public Member Functions
souffle::ram::ExistenceCheck Class Reference

Existence check for a tuple(-pattern) in a relation. More...

#include <ExistenceCheck.h>

Inheritance diagram for souffle::ram::ExistenceCheck:
Inheritance graph
Collaboration diagram for souffle::ram::ExistenceCheck:
Collaboration graph

Public Member Functions

ExistenceCheckclone () const override
 Create a clone (i.e. More...
 
 ExistenceCheck (std::string rel, VecOwn< Expression > vals)
 
- Public Member Functions inherited from souffle::ram::AbstractExistenceCheck
 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::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
 

Additional Inherited Members

- Protected Member Functions inherited from souffle::ram::AbstractExistenceCheck
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 inherited from souffle::ram::AbstractExistenceCheck
const std::string relation
 Relation. More...
 
VecOwn< Expressionvalues
 Search tuple. More...
 

Detailed Description

Existence check for a tuple(-pattern) in a relation.

Returns true if the tuple is in the relation

The following condition is evaluated to true if the tuple element t0.1 is in the relation A:

t0.1 IN A

Definition at line 49 of file ExistenceCheck.h.

Constructor & Destructor Documentation

◆ ExistenceCheck()

souffle::ram::ExistenceCheck::ExistenceCheck ( std::string  rel,
VecOwn< Expression vals 
)
inline

Definition at line 51 of file ExistenceCheck.h.

Member Function Documentation

◆ clone()

ExistenceCheck* souffle::ram::ExistenceCheck::clone ( ) const
inlineoverridevirtual

Create a clone (i.e.

deep copy) of this node

Implements souffle::ram::Condition.

Definition at line 53 of file ExistenceCheck.h.


The documentation for this class was generated from the following file: