souffle
2.0.2-371-g6315b36
|
Go to the documentation of this file.
35 class AbstractConditional :
public NestedOperation {
39 assert(
condition !=
nullptr &&
"Condition is a null-pointer");
46 assert(
condition !=
nullptr &&
"condition of conditional operation is a null-pointer");
62 bool equal(
const Node& node)
const override {
const std::string profileText
Text used by the profiler.
NestedOperation(Own< Operation > nested, std::string profileText="")
AbstractConditional(Own< Condition > cond, Own< Operation > nested, std::string profileText="")
void apply(const NodeMapper &map) override
Apply the mapper to all child nodes.
auto map(const std::vector< A > &xs, F &&f)
Applies a function to each element of a vector and returns the results.
Abstract class for conditions and boolean values in RAM.
std::vector< const Node * > getChildNodes() const override
Obtain list of all embedded child nodes.
Node is a superclass for all RAM IR classes.
void apply(const NodeMapper &map) override
Apply the mapper to all child nodes.
An abstract class for manipulating RAM Nodes by substitution.
bool equal(const Node &node) const override
Equality check for two RAM nodes.
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...
AbstractConditional * clone() const override=0
Create a clone (i.e.
const Condition & getCondition() const
Get condition that must be satisfied.
Own< Condition > condition
Condition.
Abstract conditional statement.
bool equal(const Node &node) const override
Equality check for two RAM nodes.
std::vector< const Node * > getChildNodes() const override
Obtain list of all embedded child nodes.