tools/clang/lib/Sema/SemaHLSL.cpp
/// <summary>Consumes count elements on this iterator.</summary>
Consumes count elements on this iterator.
Consumes count elements on this iterator .
void FlattenedTypeIterator::advanceCurrentElement(unsigned int count)
{
  DXASSERT(!m_typeTrackers.empty(), "otherwise caller should not be trying to advance to another element");
  DXASSERT(m_typeTrackers.back().IterKind == FK_IncompleteArray || count <= m_typeTrackers.back().Count, "caller should never exceed currently pending element count");
  FlattenedTypeTracker& tracker = m_typeTrackers.back();
  if (tracker.IterKind == FK_IncompleteArray)
  {
    tracker.Count += count;
    m_springLoaded = true;
  }
  else
  {
    tracker.Count -= count;
    m_springLoaded = false;
    if (m_typeTrackers.back().Count == 0)
  {
    advanceLeafTracker();
  }
}
}
void FlattenedTypeIterator :: advanceCurrentElement ( unsigned int count ) { DXASSERT ( ! m_typeTrackers . empty ( ) , " " ) ; DXASSERT ( m_typeTrackers . back ( ) . IterKind == FK_IncompleteArray || count <= m_typeTrackers . back ( ) . Count , " " ) ; FlattenedTypeTracker & tracker = m_typeTrackers . back ( ) ; if ( tracker . IterKind == FK_IncompleteArray ) { tracker . Count += count ; m_springLoaded = true ; } else { tracker . Count -= count ; m_springLoaded = false ; if ( m_typeTrackers . back ( ) . Count == 0 ) { advanceLeafTracker ( ) ; } } }
<summary>Consumes count elements on this iterator.</summary>
<summary > Consumes count elements on this iterator . < / summary >