Add operator== and operator!= as well as getting all matching steps for a particular song.

This commit is contained in:
Steve Checkoway
2006-07-30 11:30:29 +00:00
parent 3164f7a15f
commit 5fac8c030d
3 changed files with 32 additions and 9 deletions
+11 -7
View File
@@ -45,16 +45,20 @@ void StepsUtil::GetAllMatching( const SongCriteria &soc, const StepsCriteria &st
{
if( !soc.Matches(*so) )
continue;
FOREACH_CONST( Steps*, (*so)->GetAllSteps(), st )
{
if( !stc.Matches(*so,*st) )
continue;
SongAndSteps sas = { *so, *st };
out.push_back( sas );
}
GetAllMatching( *so, stc, out );
}
}
void StepsUtil::GetAllMatching( Song *pSong, const StepsCriteria &stc, vector<SongAndSteps> &out )
{
const vector<Steps*> &vSteps = ( stc.m_st == STEPS_TYPE_INVALID ? pSong->GetAllSteps() :
pSong->GetStepsByStepsType(stc.m_st) );
FOREACH_CONST( Steps*, vSteps, st )
if( stc.Matches(pSong, *st) )
out.push_back( SongAndSteps(pSong, *st) );
}
//
// Sorting stuff