Timetabler
custom_parser.h
Go to the documentation of this file.
1 
3 #ifndef CUSTOM_PARSER_H
4 #define CUSTOM_PARSER_H
5 
6 #include "constraint_adder.h"
7 #include "time_tabler.h"
8 #include <vector>
9 #include <string>
10 
14 enum class FieldValuesType {
15  COURSE, INSTRUCTOR, PROGRAM, ISMINOR, SEGMENT, CLASSROOM, SLOT
16 };
17 
21 struct Object {
22  bool isNot;
23  bool classSame;
24  bool slotSame;
25  int integer;
26  TimeTabler* timeTabler;
27  ConstraintAdder* constraintAdder;
28  ConstraintEncoder* constraintEncoder;
29 
30  FieldValuesType fieldType;
31  std::vector<int> courseValues;
32  std::vector<int> instructorValues;
33  std::vector<int> programValues;
34  std::vector<int> isMinorValues;
35  std::vector<int> segmentValues;
36  std::vector<int> classValues;
37  std::vector<int> slotValues;
38 
39  Clauses constraint;
40  std::vector<Clauses> constraintAnds;
41  std::vector<Clauses> constraintVals;
42 };
43 
51 void parseCustomConstraints(std::string file, ConstraintEncoder* constraintEncoder, TimeTabler* timeTabler);
52 
53 #endif
void parseCustomConstraints(std::string file, ConstraintEncoder *constraintEncoder, TimeTabler *timeTabler)
Parses custom constraints given in a file and adds them to the solver.
Class for constraint adder.
Definition: constraint_adder.h:26
Class for constraint encoder.
Definition: constraint_encoder.h:26
Struct for the type used by actions in the parser.
Definition: custom_parser.h:21
FieldValuesType
Class for field values types.
Definition: custom_parser.h:14
Class for representing a set of clauses.
Definition: clauses.h:23
Class for time tabler.
Definition: time_tabler.h:45