#include #include void Requirements::setRequirements(Block ¬es) { size(notes.size()); for(int index=0;index searchOrder; searchOrder.size(notePaths.size()); for(int index=0;index sortOrder; sortOrder.sortItems(searchOrder); // sort the sets in ascending order (ie) first item contains least number of solutions sets for(index=0;indexsetSatisfied(true); satisfied=true; break; } } return satisfied; } bool Requirements::isPositionAvailable(const FrettedNote &frettedNote,PtrRequirement &requirement) { for(int index=0;indextoString()+String("\n")); // ::OutputDebugString(frettedNote.toString()+String("\n")); if(requirement->getNote()==frettedNote.getNote()&& requirement->getOctave()==frettedNote.getOctave()&& !requirement->getSatisfied())return true; } return false; } bool Requirements::haveRequirement(const FrettedNote &frettedNote) { for(int index=0;index