| souffle
    2.0.2-371-g6315b36
    | 
Defines the aggregator class. More...
#include <Aggregator.h>


| Public Member Functions | |
| Aggregator (AggregateOp baseOperator, Own< Argument > expr=nullptr, VecOwn< Literal > body={}, SrcLocation loc={}) | |
| void | apply (const NodeMapper &map) override | 
| Apply the mapper to all child nodes.  More... | |
| Aggregator * | clone () const override | 
| Create clone.  More... | |
| AggregateOp | getBaseOperator () const | 
| Return the (base type) operator of the aggregator.  More... | |
| std::vector< Literal * > | getBodyLiterals () const | 
| Return body literals.  More... | |
| std::vector< const Node * > | getChildNodes () const override | 
| Obtain a list of all embedded AST child nodes.  More... | |
| std::optional< AggregateOp > | getFinalType () const | 
| const Argument * | getTargetExpression () const | 
| Return target expression.  More... | |
| void | setBody (VecOwn< Literal > bodyLiterals) | 
| Set body.  More... | |
| void | setFinalType (AggregateOp newType) | 
|  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... | |
| Private Attributes | |
| AggregateOp | baseOperator | 
| Aggregate (base type) operator.  More... | |
| VecOwn< Literal > | body | 
| Body literal of sub-query.  More... | |
| std::optional< AggregateOp > | finalTranslatorType | 
| Own< Argument > | targetExpression | 
| Aggregate expression.  More... | |
Defines the aggregator class.
Example: sum y+x: {A(y),B(x)}
Aggregates over a sub-query using an aggregate operator and an expression.
Definition at line 53 of file Aggregator.h.
| 
 | inline | 
Definition at line 55 of file Aggregator.h.
References baseOperator.
| 
 | inlineoverridevirtual | 
Apply the mapper to all child nodes.
Reimplemented from souffle::ast::Node.
Definition at line 100 of file Aggregator.h.
| 
 | inlineoverridevirtual | 
| 
 | inlineoverrideprotectedvirtual | 
Abstract equality check for two AST nodes.
Reimplemented from souffle::ast::Node.
Definition at line 126 of file Aggregator.h.
| 
 | inline | 
Return the (base type) operator of the aggregator.
Definition at line 61 of file Aggregator.h.
| 
 | inline | 
Return body literals.
Definition at line 71 of file Aggregator.h.
Referenced by souffle::ast::transform::RemoveEmptyRelationsTransformer::removeEmptyRelations().
| 
 | inlineoverridevirtual | 
Obtain a list of all embedded AST child nodes.
Reimplemented from souffle::ast::Node.
Definition at line 80 of file Aggregator.h.
| 
 | inline | 
| 
 | inline | 
| 
 | inlineoverrideprotectedvirtual | 
Output to a given output stream.
Implements souffle::ast::Node.
Definition at line 118 of file Aggregator.h.
| 
 | inline | 
Definition at line 109 of file Aggregator.h.
| 
 | private | 
Aggregate (base type) operator.
Definition at line 134 of file Aggregator.h.
Referenced by Aggregator().
Body literal of sub-query.
Definition at line 140 of file Aggregator.h.
| 
 | private | 
Definition at line 143 of file Aggregator.h.
Aggregate expression.
Definition at line 137 of file Aggregator.h.
Referenced by getFinalType(), and setBody().
 1.8.17
 1.8.17