| souffle
    2.0.2-371-g6315b36
    | 
 
 
 
Go to the documentation of this file.
   34 class AbstractOperator : 
public Expression {
 
   38             assert(arg != 
nullptr && 
"argument is null-pointer");
 
   48         std::vector<const Node*> res;
 
   50             res.push_back(cur.get());
 
   57             arg = 
map(std::move(arg));
 
   62     bool equal(
const Node& node)
 const override {
 
  
bool equal(const Node &node) const override
Equality check for two RAM nodes.
std::vector< Expression * > getArguments() const
Get argument values.
std::vector< const Node * > getChildNodes() const override
Obtain list of all embedded child nodes.
VecOwn< Expression > arguments
Arguments of user defined operator.
auto map(const std::vector< A > &xs, F &&f)
Applies a function to each element of a vector and returns the results.
AbstractOperator(VecOwn< Expression > args)
Node is a superclass for all RAM IR classes.
An abstract class for manipulating RAM Nodes by substitution.
bool equal_targets(const Container &a, const Container &b, const Comparator &comp)
A function testing whether two containers are equal with the given Comparator.
void apply(const NodeMapper &map) override
Apply the mapper to all child nodes.
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
Abstract class for an operator/functor.