--- queensgui/src/solutionvector.cpp 2007/07/19 21:34:15 1 +++ queensgui/src/containervector.cpp 2007/07/25 19:39:37 15 @@ -17,32 +17,33 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#include "solutionvector.h" +#include "containervector.h" +#include -SolutionVector::SolutionVector(GUIUpdate* update) : SolutionContainer(update) +ContainerVector::ContainerVector(GUIUpdate* update) : SolutionContainer(update) { - total = -1; + total = 0; } -SolutionVector::~SolutionVector() +ContainerVector::~ContainerVector() { } -int SolutionVector::numSolutions() +int ContainerVector::numSolutions() { return solutions.size(); } -int SolutionVector::totalSolutions() +int ContainerVector::totalSolutions() { return total; } -void SolutionVector::uniqueSolutions() +void ContainerVector::uniqueSolutions() { for (int i=1;i<=4;i++) { if (m_halt) @@ -52,34 +53,35 @@ } } -void SolutionVector::uniqueSolutionsWorker(int rot,bool mirror) +void ContainerVector::uniqueSolutionsWorker(int rot,bool mirror) { int match_count; if (total == -1) total = solutions.size(); - std::vector buf; + std::vector > buf; for (unsigned int i=0; i tmp ( solutions[i]->copy()); if (mirror) - tmp.mirror(); + tmp->mirror(); for (int k=0;krotate90(); //unders�g kun resten af m�ngden, start ved i for (unsigned int j=i+1; j(tmp->copy()) ); m_uniqueRemoved ++; m_update->duplicateRemoved(); } @@ -89,13 +91,14 @@ -void SolutionVector::addSolution(Solution sol) +void ContainerVector::addSolution(Solution* sol) { - solutions.push_back(sol); + solutions.push_back( boost::shared_ptr(sol) ); + total++; } -Solution SolutionVector::solution(int index) +Solution* ContainerVector::solution(int index) { - return solutions[index] ; + return solutions[index].get() ; }