System::Collections::Generic::IEnumerator class

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 fautes d’assertion. Enveloppez toujours cette classe dans le pointeur System::SmartPtr et utilisez ce pointeur pour le transmettre 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 pour ê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 MoveNext() et prépare l’objet énumérateur pour ê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’avait é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 avant 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ée l'instance de la classe List.
  auto collection = MakeObject<List<int>>();

  // Remplit 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