IIterator<T> Interface

Definição

Dá suporte à iteração simples em uma coleção.

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 do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (introduzida na v1.0)

Comentários

A interface T do IIterator<não está explicitamente oculta pela projeção de linguagem para .NET, mas a interface IIterable\<T\> está oculta.> Para a maioria dos cenários do .NET que exigem especificamente uma API para o objeto iterador, você provavelmente usará IEnumerator<T> (talvez com uma restrição de tipo específica) conforme obtido ao chamar IEnumerable<T>. GetEnumerator.

Se forem feitas alterações na coleção, como adicionar, modificar ou excluir elementos, o iterador terá permissão para gerar uma exceção para todas as operações.

Funções de extensão C++/WinRT

Observação

Existem funções de extensão nos tipos de projeção C++/WinRT para determinadas APIs Windows Runtime. Por exemplo, winrt::Windows::Foundation::IAsyncAction é o tipo de projeção C++/WinRT para IAsyncAction. As funções de extensão não fazem parte da superfície da ABI (interface binária do aplicativo) dos tipos de Windows Runtime reais, portanto, não são listadas como membros das APIs Windows Runtime. Mas você pode chamá-los de dentro de qualquer projeto C++/WinRT. Confira Funções do C++/WinRT que estendem apIs de Windows Runtime.

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

Esses operadores permitem loops ranged-for sobre Windows Runtime objetos iteráveis. O operador de prefixo e postfix ++ avança o iterador e o define nullptr como se o iterador tiver sido concluído.

T operator*() const;

Desreferenciar o iterador é equivalente a chamar 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 aninhados que melhoram a interoperabilidade com iteradores C++.

Propriedades

Current

Obtém o item atual na coleção.

HasCurrent

Obtém um valor que indica se o iterador se refere a um item atual ou está no final da coleção.

Métodos

GetMany(T[])

Recupera vários itens do iterador.

C++/WinRT A sintaxe correta para a projeção de linguagem C++/WinRT é uint32_t GetMany(winrt::array_view<T> items);.

MoveNext()

Avança o iterador para o próximo item na coleção.

Aplica-se a

Confira também