Timetabler
cclause.h
Go to the documentation of this file.
1 
3 #ifndef CCLAUSE_H
4 #define CCLAUSE_H
5 
6 #include <vector>
7 #include "core/SolverTypes.h"
8 class Clauses;
9 
10 using namespace NSPACE;
11 
21 class CClause {
22  private:
26  std::vector<Lit> lits;
27 
28  public:
29  CClause(const std::vector<Lit> &);
30  CClause(const Lit &);
31  CClause(const Var &);
32  CClause();
33  std::vector<CClause> operator~();
34  std::vector<CClause> operator&(const CClause &);
35  Clauses operator&(const Clauses &);
36  CClause operator|(const CClause &);
37  Clauses operator|(const Clauses &);
38  std::vector<CClause> operator>>(const CClause &);
39  Clauses operator>>(const Clauses &);
40  void createLitAndAdd(const Var &);
41  void createLitAndAdd(const Var &, const Var &);
42  void createLitAndAdd(const Var &, const Var &, const Var &);
43  void addLits(const Lit &);
44  void addLits(const Lit &, const Lit &);
45  void addLits(const Lit &, const Lit &, const Lit &);
46  void addLits(const std::vector<Lit> &);
47  std::vector<Lit> getLits() const;
48  void clear();
49  void printClause();
50 };
51 
52 #endif
Class for representing a clause.
Definition: cclause.h:21
Class for representing a set of clauses.
Definition: clauses.h:23