adapter.h (602B)
1 #ifndef ADAPTER_H 2 #define ADAPTER_H 3 4 #include "../nissy-core/cpp/nissy.h" 5 6 #include <string> 7 #include <vector> 8 #include <QObject> 9 10 struct SolverConfiguration { 11 nissy::cube cube{nissy::cube::SOLVED}; 12 unsigned minmoves{0}; 13 unsigned maxmoves{20}; 14 unsigned maxsolutions{1}; 15 int optimal{-1}; 16 int threads{8}; 17 }; 18 19 class NissyAdapter : public QObject { 20 Q_OBJECT 21 22 public: 23 NissyAdapter(); 24 ~NissyAdapter(); 25 void solve(SolverConfiguration); 26 27 signals: 28 void solveDone(QString); 29 30 private: 31 static constexpr nissy::solver defaultOptimalSolver{"h48h3k2"}; 32 nissy::solver_data_t optimalSolverData; 33 }; 34 35 #endif