Design Patterns
constraint_solver.h
Go to the documentation of this file.
1 // Based on "Design Patterns: Elements of Reusable Object-Oriented Software"
2 // book by Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm
3 //
4 // Created by Bartosz Rachwal. The National Institute of Advanced Industrial Science and Technology, Japan.
5 
6 #ifndef OPERATIONAL_MEMENTO_CONSTRAINT_SOLVER_H_
7 #define OPERATIONAL_MEMENTO_CONSTRAINT_SOLVER_H_
8 
10 
11 namespace operational
12 {
13 namespace memento
14 {
16 {
17  public:
18  static ConstraintSolver *Instance();
19 
20  virtual void Solve() override;
21 
22  virtual void AddConstraint(Graphic* startConnection, Graphic* endConnection) override;
23  virtual void RemoveConstraint(Graphic* startConnection, Graphic* endConnection) override;
24 
25  virtual ConstraintSolverMemento *CreateMemento() override;
26  virtual void SetMemento(ConstraintSolverMemento*) override;
27 
28  private:
30 
31  static ConstraintSolver* instance_;
32  ConstraintSolverMemento* memento_;
33 };
34 }
35 }
36 
37 #endif
38 
virtual void Solve() override
Definition: constraint_solver.cc:16
Definition: application.cc:10
virtual void SetMemento(ConstraintSolverMemento *) override
Definition: constraint_solver.cc:52
Definition: graphic.h:15
virtual void AddConstraint(Graphic *startConnection, Graphic *endConnection) override
Definition: constraint_solver.cc:37
Definition: constraint_solver.h:15
static ConstraintSolver * Instance()
Definition: constraint_solver.cc:59
virtual void RemoveConstraint(Graphic *startConnection, Graphic *endConnection) override
Definition: constraint_solver.cc:42
Definition: constraint_solver_interface.h:16
virtual ConstraintSolverMemento * CreateMemento() override
Definition: constraint_solver.cc:47
Definition: constraint_solver_memento.h:19