souffle
2.0.2-371-g6315b36
|
Go to the documentation of this file.
46 class Query :
public Statement {
49 assert(
operation &&
"operation is a nullptr");
70 void print(std::ostream& os,
int tabpos)
const override {
71 os <<
times(
" ", tabpos) <<
"QUERY" << std::endl;
75 bool equal(
const Node& node)
const override {
76 const auto& other =
static_cast<const Query&
>(node);
A relational algebra query.
Query * clone() const override
Create a clone (i.e.
Query(Own< Operation > o)
const Operation & getOperation() const
Get RAM operation.
auto map(const std::vector< A > &xs, F &&f)
Applies a function to each element of a vector and returns the results.
void apply(const NodeMapper &map) override
Apply the mapper to all child nodes.
Node is a superclass for all RAM IR classes.
auto clone(const std::vector< A * > &xs)
An abstract class for manipulating RAM Nodes by substitution.
detail::multiplying_printer< T > times(const T &value, unsigned num)
A utility printing a given value multiple times.
Abstract class for a relational algebra operation.
bool equal_ptr(const T *a, const T *b)
Compares two values referenced by a pointer where the case where both pointers are null is also consi...
bool equal(const Node &node) const override
Equality check for two RAM nodes.
Own< Operation > operation
RAM operation.
void print(std::ostream &os, int tabpos) const override
Pretty print with indentation.
std::vector< const Node * > getChildNodes() const override
Obtain list of all embedded child nodes.