souffle  2.0.2-371-g6315b36
Condition.h
Go to the documentation of this file.
1 /*
2  * Souffle - A Datalog Compiler
3  * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved
4  * Licensed under the Universal Permissive License v 1.0 as shown at:
5  * - https://opensource.org/licenses/UPL
6  * - <souffle root>/licenses/SOUFFLE-UPL.txt
7  */
8 
9 /************************************************************************
10  *
11  * @file Condition.h
12  *
13  * Defines a class for evaluating conditions in the Relational Algebra
14  * Machine.
15  *
16  ***********************************************************************/
17 
18 #pragma once
19 
20 #include "ram/Node.h"
21 
22 namespace souffle::ram {
23 
24 /**
25  * @class Condition
26  * @brief Abstract class for conditions and boolean values in RAM
27  */
28 class Condition : public Node {
29 public:
30  Condition* clone() const override = 0;
31 };
32 
33 } // namespace souffle::ram
souffle::ram
Definition: AstToRamTranslator.h:54
souffle::ram::Condition::clone
Condition * clone() const override=0
Create a clone (i.e.
Node.h