souffle
2.0.2-371-g6315b36
|
Intrinsic Functor class for functors are in-built. More...
#include <IntrinsicFunctor.h>
Public Member Functions | |
IntrinsicFunctor * | clone () const override |
Create clone. More... | |
const std::string & | getBaseFunctionOp () const |
Get (base type) function. More... | |
std::optional< FunctorOp > | getFinalOpType () const |
std::optional< TypeAttribute > | getFinalReturnType () const |
template<typename... Operands> | |
IntrinsicFunctor (SrcLocation loc, std::string op, Operands &&... operands) | |
template<typename... Operands> | |
IntrinsicFunctor (std::string op, Operands &&... operands) | |
IntrinsicFunctor (std::string op, VecOwn< Argument > args, SrcLocation loc={}) | |
void | setFinalOpType (FunctorOp newType) |
void | setFinalReturnType (TypeAttribute newType) |
void | setFunction (std::string functor) |
Set function. More... | |
Public Member Functions inherited from souffle::ast::Term | |
void | addArgument (Own< Argument > arg) |
Add argument to argument list. More... | |
void | apply (const NodeMapper &map) override |
Apply the mapper to all child nodes. More... | |
std::vector< Argument * > | getArguments () const |
Get arguments. More... | |
std::vector< const Node * > | getChildNodes () const override |
Obtain a list of all embedded AST child nodes. More... | |
Public Member Functions inherited from souffle::ast::Argument | |
Node (SrcLocation loc={}) | |
Public Member Functions inherited from souffle::ast::Node | |
std::string | extloc () const |
Return source location of the syntactic element. More... | |
const SrcLocation & | getSrcLoc () const |
Return source location of the Node. More... | |
Node (SrcLocation loc={}) | |
bool | operator!= (const Node &other) const |
Inequality check for two AST nodes. More... | |
bool | operator== (const Node &other) const |
Equivalence check for two AST nodes. More... | |
void | setSrcLoc (SrcLocation l) |
Set source location for the Node. More... | |
virtual | ~Node ()=default |
Protected Member Functions | |
bool | equal (const Node &node) const override |
Abstract equality check for two AST nodes. More... | |
void | print (std::ostream &os) const override |
Output to a given output stream. More... | |
Protected Member Functions inherited from souffle::ast::Functor | |
template<typename... Operands> | |
Term (Operands &&... operands) | |
template<typename... Operands> | |
Term (SrcLocation loc, Operands &&... operands) | |
Term (VecOwn< Argument > operands, SrcLocation loc={}) | |
Protected Member Functions inherited from souffle::ast::Term | |
bool | equal (const Node &node) const override |
Abstract equality check for two AST nodes. More... | |
template<typename... Operands> | |
Term (Operands &&... operands) | |
template<typename... Operands> | |
Term (SrcLocation loc, Operands &&... operands) | |
Term (VecOwn< Argument > operands, SrcLocation loc={}) | |
Protected Attributes | |
std::optional< FunctorOp > | finalTranslatorOpType |
std::optional< TypeAttribute > | finalTranslatorReturnType |
std::string | function |
Function. More... | |
Protected Attributes inherited from souffle::ast::Term | |
VecOwn< Argument > | args |
Arguments. More... | |
Intrinsic Functor class for functors are in-built.
Definition at line 47 of file IntrinsicFunctor.h.
|
inline |
Definition at line 50 of file IntrinsicFunctor.h.
|
inline |
Definition at line 54 of file IntrinsicFunctor.h.
|
inline |
Definition at line 57 of file IntrinsicFunctor.h.
|
inlineoverridevirtual |
|
inlineoverrideprotectedvirtual |
Abstract equality check for two AST nodes.
Reimplemented from souffle::ast::Node.
Definition at line 112 of file IntrinsicFunctor.h.
|
inline |
|
inline |
Definition at line 89 of file IntrinsicFunctor.h.
|
inline |
Definition at line 93 of file IntrinsicFunctor.h.
References souffle::ast::Term::args, and souffle::join().
|
inlineoverrideprotectedvirtual |
Output to a given output stream.
Implements souffle::ast::Node.
Definition at line 98 of file IntrinsicFunctor.h.
|
inline |
Definition at line 81 of file IntrinsicFunctor.h.
|
inline |
Definition at line 85 of file IntrinsicFunctor.h.
|
inline |
Set function.
Definition at line 66 of file IntrinsicFunctor.h.
References souffle::detail::brie::copy(), and finalTranslatorOpType.
|
protected |
Definition at line 121 of file IntrinsicFunctor.h.
Referenced by setFunction().
|
protected |
Definition at line 122 of file IntrinsicFunctor.h.
|
protected |
Function.
Definition at line 118 of file IntrinsicFunctor.h.