From 54035d633454912c7661c9ba340ad88ae8dd2f62 Mon Sep 17 00:00:00 2001 From: Steve Checkoway Date: Sat, 7 Apr 2007 05:10:29 +0000 Subject: [PATCH] API change. SONGMAN->GetSongs( groupName ) returns a const reference to the songs in the group. If you want a copy of the songs, just copy the return value: vector vSongs = SONGMAN->GetSongs( groupName ); If you don't want to change the songs, get a const reference instead to keep it from copying. --- stepmania/src/SongManager.cpp | 16 +++------------- stepmania/src/SongManager.h | 3 +-- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/stepmania/src/SongManager.cpp b/stepmania/src/SongManager.cpp index 31ac17902d..da54ef776d 100644 --- a/stepmania/src/SongManager.cpp +++ b/stepmania/src/SongManager.cpp @@ -520,14 +520,7 @@ RageColor SongManager::GetCourseColor( const Course* pCourse ) } } -void SongManager::GetSongs( vector &AddTo, const RString &sGroupName ) const -{ - const vector &vSongs = GetSongsInGroup( sGroupName ); - - AddTo.insert( AddTo.end(), vSongs.begin(), vSongs.end() ); -} - -const vector &SongManager::GetSongsInGroup( const RString &sGroupName ) const +const vector &SongManager::GetSongs( const RString &sGroupName ) const { static const vector vEmpty; @@ -557,7 +550,7 @@ void SongManager::GetPreferredSortSongs( vector &AddTo ) const { if( m_vPreferredSongSort.empty() ) { - GetSongs( AddTo ); + AddTo.insert( AddTo.end(), m_pSongs.begin(), m_pSongs.end() ); return; } @@ -738,8 +731,6 @@ void SongManager::InitAutogenCourses() for( unsigned g=0; g apGroupSongs; - GetSongs( apGroupSongs, sGroupName ); // Generate random courses from each group. pCourse = new Course; @@ -1081,8 +1072,7 @@ void SongManager::GetExtraStageInfo( bool bExtra2, const Style *sd, Song*& pSong Song* pExtra2Song = NULL; // a medium-hard Song and Steps. Use this for extra stage 2. Steps* pExtra2Notes = NULL; - vector apSongs; - SONGMAN->GetSongs( apSongs, sGroup ); + const vector &apSongs = GetSongs( sGroup ); for( unsigned s=0; s &GetAllSongs() const { return m_pSongs; } - const vector &GetSongsInGroup( const RString &sGroupName ) const; + const vector &GetSongs( const RString &sGroupName = GROUP_ALL ) const; void GetPopularSongs( vector &AddTo, const RString &sGroupName, ProfileSlot slot=ProfileSlot_Machine ) const; void GetPreferredSortSongs( vector &AddTo ) const; const vector &GetPopularSongs( ProfileSlot slot=ProfileSlot_Machine ) const { return m_pPopularSongs[slot]; } const vector &GetPopularCourses( CourseType ct, ProfileSlot slot=ProfileSlot_Machine ) const { return m_pPopularCourses[slot][ct]; } - void GetSongs( vector &AddTo, const RString &sGroupName = GROUP_ALL ) const; Song *FindSong( RString sPath ); Song *FindSong( RString sGroup, RString sSong ); Course *FindCourse( RString sPath );