IIterator<T> Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
|
MoveNext() |
Avança o iterador para o próximo item na coleção. |