System::Collections::Generic::IEnumerator clase

IEnumerator class

Interfaz del enumerador que puede usarse para iterar a través de algunos elementos. Los objetos de esta clase solo deben asignarse usando la función System::MakeObject(). Nunca cree una instancia de este tipo en la pila o usando el operador new, ya que provocará errores en tiempo de ejecución y/o fallas de aserción. Siempre envuelva esta clase en un puntero System::SmartPtr y use ese puntero para pasarlo a funciones como argumento.

template<typename T>class IEnumerator : public virtual System::IDisposable,
                                        public System::Details::EnumeratorBasedIterator<T>,
                                        protected System::Details::IteratorPointerUpdater<T, false>
ParámetroDescripción
TTipo de elemento.

Métodos

MétodoDescripción
AsVirtualizedIterator()Prepara el iterador para ser usado por la clase VirtualizedIterator.
CloneIterator() const overrideClona el iterador actual.
virtual Current() constObtiene el elemento actual.
virtual get_Current() constObtiene el elemento actual.
IEnumerator()
IncrementIterator() overrideMueve el iterador un paso adelante.
InitializeIterator() overrideRealiza la primera llamada a MoveNext() y prepara el objeto enumerador para ser usado por VirtualizedIterator.
MarkOwnedByVirtualizedIterator()Marca el enumerador perteneciente al iterador virtualizado.
virtual MoveNext()Mueve el enumerador al siguiente elemento. Si no se había referenciado ningún elemento antes, establece la referencia al primer elemento disponible. Si se alcanza el final del contenedor, no hace nada.
virtual Reset()Restablece el enumerador a la posición anterior al primer elemento.
virtual ~IEnumerator()

Typedefs

TypedefDescripción
ValueTypeTipo de valor.

Observaciones

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

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

int main()
{
  // Crea la instancia de la clase List.
  auto collection = MakeObject<List<int>>();

  // Llena la lista.
  collection->Add(1);
  collection->Add(2);
  collection->Add(3);

  // Obtenga el enumerador de la lista.
  auto enumerator = collection->GetEnumerator();

  while (enumerator->MoveNext())
  {
    // Obtenga el elemento actual e imprímalo.
    std::cout << enumerator->get_Current() << ' ';
  }

  // Restablezca el enumerador.
  enumerator->Reset();

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

Ver también