| souffle
    2.0.2-371-g6315b36
    | 
Defines an abstract term class used for functors and other constructors. More...
#include <Term.h>


| Public Member Functions | |
| 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 | |
| Argument * | clone () const override=0 | 
| Create clone.  More... | |
| 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... | |
| 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::Node | |
| virtual void | print (std::ostream &os) const =0 | 
| Output to a given output stream.  More... | |
| Protected Attributes | |
| VecOwn< Argument > | args | 
| Arguments.  More... | |
| Static Private Member Functions | |
| template<typename... Operands> | |
| static VecOwn< Argument > | asVec (Operands... ops) | 
Defines an abstract term class used for functors and other constructors.
| 
 | inlineprotected | 
| 
 | inlineprotected | 
| 
 | inlineprotected | 
| 
 | inlineoverridevirtual | 
Apply the mapper to all child nodes.
Reimplemented from souffle::ast::Node.
Definition at line 73 of file Term.h.
References args, and souffle::equal_targets().

| 
 | inlineoverrideprotectedvirtual | 
Abstract equality check for two AST nodes.
Reimplemented from souffle::ast::Node.
Reimplemented in souffle::ast::UserDefinedFunctor.
| 
 | inline | 
| 
 | inlineoverridevirtual | 
Obtain a list of all embedded AST child nodes.
Reimplemented from souffle::ast::Node.
Arguments.
Definition at line 86 of file Term.h.
Referenced by apply(), souffle::ast::BranchInit::BranchInit(), and souffle::ast::IntrinsicFunctor::getFinalReturnType().
 1.8.17
 1.8.17