Compartir a través de


IIterator<T> Interfaz

Definición

Admite una iteración simple sobre una colección.

public interface class IIterator
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(1786374243, 17152, 17818, 153, 102, 203, 182, 96, 150, 62, 225)]
template <typename T>
struct IIterator
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(1786374243, 17152, 17818, 153, 102, 203, 182, 96, 150, 62, 225)]
public interface IIterator<T>
Public Interface IIterator(Of T)

Parámetros de tipo

T
Derivado
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (se introdujo en la versión v1.0)

Comentarios

La interfaz IIterator<T> no está oculta explícitamente por la proyección de lenguaje para .NET, pero la interfaz IIterable\<T\> está oculta. Para la mayoría de los escenarios de .NET que requieren específicamente una API para el objeto iterador, probablemente usará IEnumerator<T> (quizás con una restricción de tipo específica) como se obtiene al llamar a IEnumerable<T>. GetEnumerator.

Si se realizan cambios en la colección, como agregar, modificar o eliminar elementos, el iterador puede generar una excepción para todas las operaciones.

Funciones de extensión de C++/WinRT

Nota:

Existen funciones de extensión en los tipos de proyección de C++/WinRT para determinadas API de Windows Runtime. Por ejemplo, winrt::Windows::Foundation::IAsyncAction es el tipo de proyección de C++/WinRT para IAsyncAction. Las funciones de extensión no forman parte de la superficie de la interfaz binaria de la aplicación (ABI) de los tipos de Windows Runtime reales, por lo que no se muestran como miembros de las API de Windows Runtime. Pero puedes llamarlos desde cualquier proyecto de C++/WinRT. Consulta Funciones de C++/WinRT que amplían las API de Windows Runtime.

operator++();
operator++(int);

Estos operadores permiten bucles ranged-for en Windows Runtime objetos iterables. El operador de prefijo y postfijo ++ avanza el iterador y lo nullptr establece en si el iterador se ha completado.

T operator*() const;

Desreferenciar el iterador equivale a llamar a Current.

using iterator_concept= std::input_iterator_tag;
using iterator_catetory = std::input_iterator_tag;
using value_type = T;
using difference_type = ptrdiff_t;
using pointer = void;
using reference = T;

Tipos anidados que mejoran la interoperabilidad con iteradores de C++.

Propiedades

Current

Obtiene el elemento actual de la colección.

HasCurrent

Obtiene un valor que indica si el iterador hace referencia a un elemento actual o está al final de la colección.

Métodos

GetMany(T[])

Recupera varios elementos del iterador.

C++/WinRT La sintaxis correcta para la proyección del lenguaje C++/WinRT es uint32_t GetMany(winrt::array_view<T> items);.

MoveNext()

Avanza el iterador al siguiente elemento de la colección.

Se aplica a

Consulte también