1 #ifndef _CONSTRAINT_STORE_PLAD
2 #define _CONSTRAINT_STORE_PLAD
3 
4 #include "constraints/abstract_constraint.hpp"
5 #include "queue/rbase_generating_queue.hpp"
6 #include "library/library.hpp"
7 #include "library/perm.hpp"
8 
9 struct Problem;
10 
11 class ConstraintStore
12 {
13     Problem* p;
14     vec1<AbstractConstraint*> constraints;
15     bool constraints_initalized;
16 public:
17 
18     typedef const vec1<AbstractConstraint*>* get_type;
get() const19     const vec1<AbstractConstraint*>* get() const
20     { return &constraints; }
21 
22     ConstraintStore(Problem* _p);
23 
24     void addConstraint(AbstractConstraint* con);
25 
26     void initConstraints(bool rbase_building);
27 
28     ~ConstraintStore();
29 
30     bool initCalled() const;
31 
32     bool verifySolution(const Permutation& p) const;
33 };
34 
35 #endif
36