souffle  2.0.2-371-g6315b36
Constraint.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 Constraint.h
12  *
13  * Defines an abstract class for constraints
14  *
15  ***********************************************************************/
16 
17 #pragma once
18 
19 #include "ast/Literal.h"
20 
21 namespace souffle::ast {
22 
23 /**
24  * @class Constraint
25  * @brief Abstract class for AST constraints
26  */
27 class Constraint : public Literal {
28 public:
29  using Literal::Literal;
30 
31  Constraint* clone() const override = 0;
32 };
33 
34 } // namespace souffle::ast
souffle::clone
auto clone(const std::vector< A * > &xs)
Definition: ContainerUtil.h:172
Literal.h
souffle::ast
Definition: Aggregator.h:35