souffle
2.0.2-371-g6315b36
|
Go to the documentation of this file.
38 class AbstractAggregate {
42 assert(
condition !=
nullptr &&
"Condition is a null-pointer");
43 assert(
expression !=
nullptr &&
"Expression is a null-pointer");
50 assert(
condition !=
nullptr &&
"Condition of aggregate is a null-pointer");
61 assert(
expression !=
nullptr &&
"Expression of aggregate is a null-pointer");
70 void print(std::ostream& os,
int )
const {
90 bool equal(
const Node& node)
const {
bool equal(const Node &node) const
const Condition & getCondition() const
Get condition.
AggregateOp getFunction() const
Get aggregation function.
AggregateOp
Types of aggregation functions.
Abstract class for conditions and boolean values in RAM.
const Expression & getExpression() const
Get target expression.
void print(std::ostream &os, int) const
const AggregateOp function
Aggregation function.
Own< Expression > expression
Aggregation expression.
bool equal_ptr(const T *a, const T *b)
Compares two values referenced by a pointer where the case where both pointers are null is also consi...
virtual ~AbstractAggregate()=default
std::vector< const Node * > getChildNodes() const
Abstract class for describing scalar values in RAM.
Own< Condition > condition
Aggregation tuple condition.
AbstractAggregate(AggregateOp fun, Own< Expression > expr, Own< Condition > cond)