4 #include "fence_common.h"
12 /** This class represents that the list of inferences that can fix the problem
16 ModelList<Inference*> *list;
23 /** We should not call this function too often because we want a nicer
24 * abstraction of the list of inferences. So far, it will only be called in
25 * the functions in InferenceSet */
26 ModelList<Inference*>* getList();
27 void push_back(Inference *infer);
30 bool applyPatch(Inference *curInfer, Inference *newInfer, Patch *patch);
32 void applyPatch(Inference *curInfer, Patch* patch);
34 void applyPatch(Inference *curInfer, SnapVector<Patch*> *patches);
36 /** Append another list to this list */
37 bool append(InferenceList *inferList);
39 /** Only choose the weakest existing candidates & they must be stronger than the
40 * current inference */
41 void pruneCandidates(Inference *curInfer);
47 static void clearAll(ModelList<Inference*> *l);
49 static void clearAll(InferenceList *inferList);
51 static void print(ModelList<Inference*> *inferList, const char *msg);
53 static void print(InferenceList *inferList, const char *msg);
57 void print(const char *msg);