| souffle
    2.0.2-371-g6315b36
    | 
 
 
 
Go to the documentation of this file.
   45         default: 
fatal(
"invalid Operation");
 
   58 class NestedIntrinsicOperator : 
public TupleOperation {
 
   73         for (
auto&& x : 
args) {
 
   74             res.push_back(x.get());
 
   86         for (
auto&& x : 
args) {
 
   87             x = 
map(std::move(x));
 
   92     void print(std::ostream& os, 
int tabpos)
 const override {
 
   93         os << 
times(
" ", tabpos);
 
   99     bool equal(
const Node& node)
 const override {
 
  
void print(std::ostream &os, int tabpos) const override
Pretty print with indentation.
NestedIntrinsicOperator(NestedIntrinsicOp op, VecOwn< Expression > args, Own< Operation > nested, int ident)
std::vector< const Node * > getChildNodes() const override
Obtain list of all embedded child nodes.
TupleOperation(int ident, Own< Operation > nested, std::string profileText="")
void apply(const NodeMapper &map) override
Apply the mapper to all child nodes.
void apply(const NodeMapper &map) override
Apply the mapper to all child nodes.
l j a showGridBackground &&c b raw series this eventEmitter e
Operation & getOperation() const
Get nested operation.
auto map(const std::vector< A > &xs, F &&f)
Applies a function to each element of a vector and returns the results.
std::ostream & operator<<(std::ostream &os, NestedIntrinsicOp e)
bool equal(const Node &node) const override
Equality check for two RAM nodes.
A functor printing elements after dereferencing it.
std::vector< const Node * > getChildNodes() const override
Obtain list of all embedded child nodes.
Node is a superclass for all RAM IR classes.
auto clone(const std::vector< A * > &xs)
std::vector< Expression * > getArguments() const
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.
detail::joined_sequence< Iter, Printer > join(const Iter &a, const Iter &b, const std::string &sep, const Printer &p)
Creates an object to be forwarded to some output stream for printing sequences of elements interspers...
bool equal_targets(const Container &a, const Container &b, const Comparator &comp)
A function testing whether two containers are equal with the given Comparator.
int getTupleId() const
Get identifier.
NestedIntrinsicOp getFunction() const
bool equal(const Node &node) const override
Equality check for two RAM nodes.
VecOwn< Expression > args
const NestedIntrinsicOp op
NestedIntrinsicOperator * clone() const override
Create a clone (i.e.
void fatal(const char *format, const Args &... args)
Effectively identical to IntrinsicOperator, except it can produce multiple results.
std::vector< T * > toPtrVector(const std::vector< std::unique_ptr< T >> &v)
A utility function enabling the creation of a vector of pointers.
std::vector< Own< A > > VecOwn
void print(std::ostream &os, int tabpos) const override
Pretty print with indentation.