System::Collections::Generic::IEnumerator class

IEnumerator class

Gränssnitt för enumerator som kan användas för att iterera genom vissa element. Objekt av denna klass bör endast allokeras med System::MakeObject() funktionen. Skapa aldrig en instans av denna typ på stacken eller med operatorn new, eftersom det kan leda till körfel och/eller påståendefel. Wrappa alltid denna klass i en System::SmartPtr pekare och använd denna pekare för att skicka den till funktioner som argument.

template<typename T>class IEnumerator : public virtual System::IDisposable,
                                        public System::Details::EnumeratorBasedIterator<T>,
                                        protected System::Details::IteratorPointerUpdater<T, false>
ParameterBeskrivning
TElementtyp.

Metoder

MetodBeskrivning
AsVirtualizedIterator()Förbereder iteratorn för att användas av VirtualizedIterator-klassen.
CloneIterator() const overrideKlonar aktuell iterator.
virtual Current() constHämtar aktuellt element.
virtual get_Current() constHämtar aktuellt element.
IEnumerator()
IncrementIterator() overrideFlyttar iteratorn ett steg framåt.
InitializeIterator() overrideUtför det första MoveNext()-anropet och förbereder enumeratorobjektet för att användas av VirtualizedIterator.
MarkOwnedByVirtualizedIterator()Markerar enumeratorn som ägs av den virtualiserade iteratorn.
virtual MoveNext()Flyttar enumerator till nästa element. Om inget element har refererats tidigare, sätts referensen till det första tillgängliga elementet. Om behållarens slut nås, gör den ingenting.
virtual Reset()Återställer enumerator till positionen före det första elementet.
virtual ~IEnumerator()

Typedefs

TypedefBeskrivning
ValueTypeVärdetyp.

Anmärkningar

#include <system/collections/list.h>
#include <system/smart_ptr.h>

using namespace System;
using namespace System::Collections::Generic;

int main()
{
  // Skapa en instans av List-klassen.
  auto collection = MakeObject<List<int>>();

  // Fyll listan.
  collection->Add(1);
  collection->Add(2);
  collection->Add(3);

  // Hämta uppräkaren för listan.
  auto enumerator = collection->GetEnumerator();

  while (enumerator->MoveNext())
  {
    // Hämta det aktuella elementet och skriv ut det.
    std::cout << enumerator->get_Current() << ' ';
  }

  // Återställ uppräkaren.
  enumerator->Reset();

  return 0;
}
/*
This code example produces the following output:
1 2 3
*/

Se även