Project a result into the target relation.
More...
#include <Project.h>
|
bool | equal (const Node &node) const override |
| Equality check for two RAM nodes. More...
|
|
void | print (std::ostream &os, int tabpos) const override |
| Pretty print with indentation. More...
|
|
void | print (std::ostream &os) const override |
| Print RAM node. More...
|
|
|
static void | print (const Operation *operation, std::ostream &os, int tabpos) |
| Pretty print jump-bed. More...
|
|
Project a result into the target relation.
For example:
FOR t0 IN A
...
PROJECT (t0.a, t0.b, t0.c) INTO @new_X
Definition at line 50 of file Project.h.
◆ Project()
souffle::ram::Project::Project |
( |
std::string |
rel, |
|
|
VecOwn< Expression > |
expressions |
|
) |
| |
|
inline |
◆ apply()
void souffle::ram::Project::apply |
( |
const NodeMapper & |
| ) |
|
|
inlineoverridevirtual |
Apply the mapper to all child nodes.
Reimplemented from souffle::ram::Node.
Definition at line 85 of file Project.h.
88 void print(std::ostream& os,
int tabpos)
const override {
89 os <<
times(
" ", tabpos);
◆ clone()
Project* souffle::ram::Project::clone |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ equal()
bool souffle::ram::Project::equal |
( |
const Node & |
| ) |
const |
|
inlineoverrideprotectedvirtual |
Equality check for two RAM nodes.
Default action is that nothing needs to be checked.
Reimplemented from souffle::ram::Node.
Definition at line 98 of file Project.h.
◆ getChildNodes()
std::vector<const Node*> souffle::ram::Project::getChildNodes |
( |
| ) |
const |
|
inlineoverridevirtual |
Obtain list of all embedded child nodes.
Reimplemented from souffle::ram::Node.
Definition at line 69 of file Project.h.
74 VecOwn<Expression> newValues;
◆ getRelation()
const std::string& souffle::ram::Project::getRelation |
( |
| ) |
const |
|
inline |
◆ getValues()
std::vector<Expression*> souffle::ram::Project::getValues |
( |
| ) |
const |
|
inline |
Get expressions.
Definition at line 65 of file Project.h.
66 std::vector<const Node*> res;
References expressions.
◆ print()
void souffle::ram::Project::print |
( |
std::ostream & |
os, |
|
|
int |
tabpos |
|
) |
| const |
|
inlineoverrideprotectedvirtual |
◆ expressions
◆ relation
std::string souffle::ram::Project::relation |
|
protected |
The documentation for this class was generated from the following file:
bool equal_targets(const Container &a, const Container &b, const Comparator &comp)
A function testing whether two containers are equal with the given Comparator.