|
souffle
2.0.2-371-g6315b36
|
Aggregation function applied on some relation. More...
#include <Aggregate.h>


Public Member Functions | |
| Aggregate (Own< Operation > nested, AggregateOp fun, std::string rel, Own< Expression > expression, Own< Condition > condition, int ident) | |
| void | apply (const NodeMapper &map) override |
| Apply the mapper to all child nodes. More... | |
| Aggregate * | clone () const override |
| Create a clone (i.e. More... | |
| std::vector< const Node * > | getChildNodes () const override |
| Obtain list of all embedded child nodes. More... | |
Public Member Functions inherited from souffle::ram::RelationOperation | |
| const std::string & | getRelation () const |
| Get search relation. More... | |
| RelationOperation (std::string rel, int ident, Own< Operation > nested, std::string profileText="") | |
Public Member Functions inherited from souffle::ram::TupleOperation | |
| std::vector< const Node * > | getChildNodes () const override |
| Obtain list of all embedded child nodes. More... | |
| int | getTupleId () const |
| Get identifier. More... | |
| void | setTupleId (int id) |
| Set identifier. More... | |
| TupleOperation (int ident, Own< Operation > nested, std::string profileText="") | |
Public Member Functions inherited from souffle::ram::NestedOperation | |
| void | apply (const NodeMapper &map) override |
| Apply the mapper to all child nodes. More... | |
| Operation & | getOperation () const |
| Get nested operation. More... | |
| const std::string & | getProfileText () const |
| Get profile text. More... | |
| NestedOperation (Own< Operation > nested, std::string profileText="") | |
Public Member Functions inherited from souffle::ram::Node | |
| bool | operator!= (const Node &other) const |
| Inequality check for two RAM nodes. More... | |
| bool | operator== (const Node &other) const |
| Equivalence check for two RAM nodes. More... | |
| virtual void | rewrite (const Node *oldNode, Own< Node > newNode) |
| Rewrite a child node. More... | |
| virtual | ~Node ()=default |
Public Member Functions inherited from souffle::ram::AbstractAggregate | |
| AbstractAggregate (AggregateOp fun, Own< Expression > expr, Own< Condition > cond) | |
| std::vector< const Node * > | getChildNodes () const |
| const Condition & | getCondition () const |
| Get condition. More... | |
| const Expression & | getExpression () const |
| Get target expression. More... | |
| AggregateOp | getFunction () const |
| Get aggregation function. More... | |
| virtual | ~AbstractAggregate ()=default |
Protected Member Functions | |
| bool | equal (const Node &node) const override |
| Equality check for two RAM nodes. More... | |
| void | print (std::ostream &os, int tabpos) const override |
| Pretty print with indentation. More... | |
Protected Member Functions inherited from souffle::ram::RelationOperation | |
| bool | equal (const Node &node) const override |
| Equality check for two RAM nodes. More... | |
Protected Member Functions inherited from souffle::ram::TupleOperation | |
| bool | equal (const Node &node) const override |
| Equality check for two RAM nodes. More... | |
Protected Member Functions inherited from souffle::ram::NestedOperation | |
| void | print (std::ostream &os, int tabpos) const override |
| Pretty print with indentation. More... | |
Protected Member Functions inherited from souffle::ram::Operation | |
| void | print (std::ostream &os) const override |
| Print RAM node. More... | |
Protected Member Functions inherited from souffle::ram::AbstractAggregate | |
| bool | equal (const Node &node) const |
| void | print (std::ostream &os, int) const |
Additional Inherited Members | |
Static Protected Member Functions inherited from souffle::ram::Operation | |
| static void | print (const Operation *operation, std::ostream &os, int tabpos) |
| Pretty print jump-bed. More... | |
Protected Attributes inherited from souffle::ram::RelationOperation | |
| const std::string | relation |
| Search relation. More... | |
Protected Attributes inherited from souffle::ram::TupleOperation | |
| int | identifier |
| Identifier for the tuple, corresponding to its position in the loop nest. More... | |
Protected Attributes inherited from souffle::ram::NestedOperation | |
| Own< Operation > | nestedOperation |
| Nested operation. More... | |
| const std::string | profileText |
| Text used by the profiler. More... | |
Protected Attributes inherited from souffle::ram::AbstractAggregate | |
| Own< Condition > | condition |
| Aggregation tuple condition. More... | |
| Own< Expression > | expression |
| Aggregation expression. More... | |
| const AggregateOp | function |
| Aggregation function. More... | |
Aggregation function applied on some relation.
For example:
Applies the function COUNT to determine the number of elements in A.
Definition at line 53 of file Aggregate.h.
|
inline |
Definition at line 55 of file Aggregate.h.
References souffle::ram::TupleOperation::getChildNodes(), and souffle::ram::AbstractAggregate::getChildNodes().

|
inlineoverridevirtual |
Apply the mapper to all child nodes.
Reimplemented from souffle::ram::Node.
Definition at line 72 of file Aggregate.h.
|
inlineoverridevirtual |
Create a clone (i.e.
deep copy) of this node
Implements souffle::ram::RelationOperation.
Reimplemented in souffle::ram::ParallelAggregate.
Definition at line 67 of file Aggregate.h.
References souffle::ram::NestedOperation::apply(), souffle::ram::AbstractAggregate::condition, souffle::ram::AbstractAggregate::expression, and souffle::map().

|
inlineoverrideprotectedvirtual |
Equality check for two RAM nodes.
Default action is that nothing needs to be checked.
Reimplemented from souffle::ram::Node.
Definition at line 91 of file Aggregate.h.
|
inlineoverridevirtual |
Obtain list of all embedded child nodes.
Reimplemented from souffle::ram::Node.
Definition at line 60 of file Aggregate.h.
|
inlineoverrideprotectedvirtual |
Pretty print with indentation.
Implements souffle::ram::Operation.
Reimplemented in souffle::ram::ParallelAggregate.
Definition at line 79 of file Aggregate.h.
1.8.17