Timetabler
constraint_adder.h
Go to the documentation of this file.
1 
3 #ifndef CONSTRAINT_ADDER_H
4 #define CONSTRAINT_ADDER_H
5 
6 #include "clauses.h"
7 #include "constraint_encoder.h"
8 #include "core/SolverTypes.h"
9 #include "global.h"
10 class Timetabler;
11 
12 using namespace NSPACE;
13 
27  private:
32  ConstraintEncoder *encoder;
37  Timetabler *timetabler;
38  Clauses fieldSingleValueAtATime(FieldType);
39  Clauses exactlyOneFieldValuePerCourse(FieldType);
40  Clauses instructorSingleCourseAtATime();
41  Clauses classroomSingleCourseAtATime();
42  Clauses programSingleCoreCourseAtATime();
43  Clauses minorInMinorTime();
44  Clauses coreInMorningTime();
45  Clauses electiveInNonMorningTime();
46  Clauses existingAssignmentClauses();
47  Clauses programAtMostOneOfCoreOrElective();
48 
49  public:
51  void addConstraints();
52  void addSingleConstraint(PredefinedClauses, const Clauses &);
53 };
54 
55 #endif
Class for constraint adder.
Definition: constraint_adder.h:26
Class for time tabler.
Definition: time_tabler.h:44
PredefinedClauses
Enum that represents all the predefined constraints.
Definition: global.h:14
Class for constraint encoder.
Definition: constraint_encoder.h:26
FieldType
Enum that represents all the field types.
Definition: global.h:9
Class for representing a set of clauses.
Definition: clauses.h:23