| souffle
    2.0.2-371-g6315b36
    | 
 
 
 
Go to the documentation of this file.
   36 class IntrinsicOperator : 
public AbstractOperator {
 
   38     template <
typename... Args>
 
   52             argsCopy.emplace_back(arg->clone());
 
   58     void print(std::ostream& os)
 const override {
 
   66     bool equal(
const Node& node)
 const override {
 
  
bool equal(const Node &node) const override
Equality check for two RAM nodes.
void print(std::ostream &os) const override
Print RAM node.
VecOwn< Expression > arguments
Arguments of user defined operator.
FunctorOp getOperator() const
Get operator symbol.
AbstractOperator(VecOwn< Expression > args)
const FunctorOp operation
Operation symbol.
bool equal(const Node &node) const override
Equality check for two RAM nodes.
IntrinsicOperator * clone() const override
Create a clone (i.e.
Node is a superclass for all RAM IR classes.
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...
Operator that represents an intrinsic (built-in) functor.
IntrinsicOperator(FunctorOp op, Args... args)
bool isInfixFunctorOp(std::string_view symbol)
Determines whether a functor should be written using infix notation (e.g.
std::vector< Own< A > > VecOwn
Abstract class for an operator/functor.