classe System::Collections::Generic::IEnumerator

IEnumerator class

Interface de l’énumérateur qui peut être utilisée pour parcourir certains éléments. Les objets de cette classe ne doivent être alloués qu’en utilisant la fonction System::MakeObject(). Ne créez jamais d’instance de ce type sur la pile ou en utilisant l’opérateur new, car cela entraînera des erreurs d’exécution et/ou des échecs d’assertion. Enveloppez toujours cette classe dans le pointeur System::SmartPtr et utilisez ce pointeur pour le passer aux fonctions en tant qu’argument.

template<typename T>class IEnumerator : public virtual System::IDisposable,
                                        public System::Details::EnumeratorBasedIterator<T>,
                                        protected System::Details::IteratorPointerUpdater<T, false>
ParamètreDescription
TType d’élément.

Méthodes

MéthodeDescription
AsVirtualizedIterator()Prépare l’itérateur à être utilisé par la classe VirtualizedIterator.
CloneIterator() const overrideClone l’itérateur actuel.
virtual Current() constObtient l’élément actuel.
virtual get_Current() constObtient l’élément actuel.
IEnumerator()
IncrementIterator() overrideDéplace l’itérateur d’un pas en avant.
InitializeIterator() overrideEffectue le premier appel de MoveNext() et prépare l’objet énumérateur à être utilisé par VirtualizedIterator.
MarkOwnedByVirtualizedIterator()Marque l’énumérateur possédé par l’itérateur virtualisé.
virtual MoveNext()Déplace l’énumérateur vers l’élément suivant. Si aucun élément n’a été référencé auparavant, définit la référence sur le premier élément disponible. Si la fin du conteneur est atteinte, ne fait rien.
virtual Reset()Réinitialise l’énumérateur à la position précédant le premier élément.
virtual ~IEnumerator()

Typedefs

TypedefDescription
ValueTypeType valeur.

Remarques

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

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

int main()
{
  // Créez l'instance de la classe List.
  auto collection = MakeObject<List<int>>();

  // Remplissez la liste.
  collection->Add(1);
  collection->Add(2);
  collection->Add(3);

  // Obtenez l'énumérateur de la liste.
  auto enumerator = collection->GetEnumerator();

  while (enumerator->MoveNext())
  {
    // Obtenez l'élément actuel et affichez-le.
    std::cout << enumerator->get_Current() << ' ';
  }

  // Réinitialisez l'énumérateur.
  enumerator->Reset();

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

Voir aussi