--- queensgui/src/solutionlist.cpp 2007/07/19 22:26:42 2 +++ queensgui/src/containerlist.cpp 2007/07/25 19:39:37 15 @@ -17,32 +17,32 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#include "solutionlist.h" +#include "containerlist.h" -SolutionList::SolutionList(GUIUpdate* update) +ContainerList::ContainerList(GUIUpdate* update) : SolutionContainer(update) { - total = -1; + total = 0; } -SolutionList::~SolutionList() +ContainerList::~ContainerList() { } -int SolutionList::numSolutions() +int ContainerList::numSolutions() { return solutions.size(); } -int SolutionList::totalSolutions() +int ContainerList::totalSolutions() { return total; } -void SolutionList::uniqueSolutions() +void ContainerList::uniqueSolutions() { for (int i=1;i<=4;i++) { if (m_halt) @@ -53,7 +53,7 @@ } -void SolutionList::uniqueSolutionsWorker(int rot,bool mirror) +void ContainerList::uniqueSolutionsWorker(int rot,bool mirror) { int match_count; @@ -64,7 +64,8 @@ if (m_halt) return; match_count = 0; - Solution* tmp = (*i)->copy(); + + std::auto_ptr tmp ( (*i)->copy() ); if (mirror) tmp->mirror(); for (int k=0;k(sol)); + total++; } -Solution* SolutionList::solution(int index) +Solution* ContainerList::solution(int index) { int count=0; ListIt it; @@ -102,6 +104,6 @@ break; } } - return *it; + return (*it).get(); }