Simplify. Remove the condition from the iterator. Almost nothing uses it (although other things could), it seems more trouble than it's worth.
This commit is contained in:
@@ -925,18 +925,7 @@ void NoteData::_all_tracks_iterator<ND, iter, TN>::Find( bool bReverse )
|
||||
for( int iTrack = m_pNoteData->GetNumTracks() - 1; iTrack >= 0; --iTrack )
|
||||
{
|
||||
iter &i( m_vCurrentIters[iTrack] );
|
||||
const iter &begin = m_vBeginIters[iTrack];
|
||||
const iter &end = m_vEndIters[iTrack];
|
||||
if( m_Cond )
|
||||
{
|
||||
while( i != end && i->first > iMaxRow && !m_Cond(i->second) )
|
||||
{
|
||||
if( i == begin )
|
||||
i = end;
|
||||
else
|
||||
--i;
|
||||
}
|
||||
}
|
||||
if( i != end && i->first > iMaxRow )
|
||||
{
|
||||
iMaxRow = i->first;
|
||||
@@ -952,11 +941,6 @@ void NoteData::_all_tracks_iterator<ND, iter, TN>::Find( bool bReverse )
|
||||
{
|
||||
iter &i = m_vCurrentIters[iTrack];
|
||||
const iter &end = m_vEndIters[iTrack];
|
||||
if( m_Cond )
|
||||
{
|
||||
while( i != end && i->first < iMinRow && !m_Cond(i->second) )
|
||||
++i;
|
||||
}
|
||||
if( i != end && i->first < iMinRow )
|
||||
{
|
||||
iMinRow = i->first;
|
||||
@@ -967,8 +951,8 @@ void NoteData::_all_tracks_iterator<ND, iter, TN>::Find( bool bReverse )
|
||||
}
|
||||
|
||||
template<typename ND, typename iter, typename TN>
|
||||
NoteData::_all_tracks_iterator<ND, iter, TN>::_all_tracks_iterator( ND &nd, int iStartRow, int iEndRow, bool bReverse, NoteData::IteratorCond cond, bool bInclusive ) :
|
||||
m_pNoteData(&nd), m_iTrack(0), m_bReverse(bReverse), m_Cond(cond)
|
||||
NoteData::_all_tracks_iterator<ND, iter, TN>::_all_tracks_iterator( ND &nd, int iStartRow, int iEndRow, bool bReverse, bool bInclusive ) :
|
||||
m_pNoteData(&nd), m_iTrack(0), m_bReverse(bReverse)
|
||||
{
|
||||
ASSERT( m_pNoteData->GetNumTracks() > 0 );
|
||||
|
||||
@@ -1006,7 +990,6 @@ NoteData::_all_tracks_iterator<ND, iter, TN>::_all_tracks_iterator( const _all_t
|
||||
COPY_OTHER( m_pNoteData ),
|
||||
COPY_OTHER( m_iTrack ),
|
||||
COPY_OTHER( m_bReverse ),
|
||||
COPY_OTHER( m_Cond ),
|
||||
COPY_OTHER( m_vBeginIters ),
|
||||
COPY_OTHER( m_vEndIters ),
|
||||
COPY_OTHER( m_vCurrentIters )
|
||||
|
||||
Reference in New Issue
Block a user