Condividi tramite


IIterator<T> Interfaccia

Definizione

Supporta un'iterazione semplice su una raccolta.

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)

Parametri di tipo

T
Derivato
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (è stato introdotto in v1.0)

Commenti

L'interfaccia IIterator T> non è nascosta in modo esplicito<dalla proiezione del linguaggio per .NET, ma l'interfaccia IIterable\<T\> è nascosta. Per la maggior parte degli scenari .NET che richiedono specificamente un'API per l'oggetto iteratore, probabilmente si userà IEnumerator<T (forse con un vincolo di tipo specifico) come ottenuto dalla chiamata di IEnumerable T><>. GetEnumerator.

Se le modifiche vengono apportate alla raccolta, ad esempio l'aggiunta, la modifica o l'eliminazione di elementi, l'iteratore può generare un'eccezione per tutte le operazioni.

Funzioni di estensione C++/WinRT

Nota

Le funzioni di estensione esistono nei tipi di proiezione C++/WinRT per determinate API Windows Runtime. Ad esempio, winrt::Windows::Foundation::IAsyncAction è il tipo di proiezione C++/WinRT per IAsyncAction. Le funzioni di estensione non fanno parte della superficie dell'interfaccia binaria dell'applicazione (ABI) dei tipi di Windows Runtime effettivi, pertanto non sono elencati come membri delle API Windows Runtime. È tuttavia possibile chiamarli da qualsiasi progetto C++/WinRT. Vedere funzioni C++/WinRT che estendono Windows Runtime API.

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

Questi operatori consentono cicli a intervalli su Windows Runtime oggetti iterabili. L'operatore prefisso e postfix ++ avanza l'iteratore e lo imposta su nullptr se l'iteratore è stato completato.

T operator*() const;

La dereferenza dell'iteratore equivale a chiamare 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;

Tipi annidati che migliorano l'interoperabilità con iteratori C++.

Proprietà

Current

Ottiene l'elemento corrente dell'insieme.

HasCurrent

Ottiene un valore che indica se l'iteratore fa riferimento a un elemento corrente o è alla fine della raccolta.

Metodi

GetMany(T[])

Recupera più elementi dall'iteratore.

C++/WinRT La sintassi corretta per la proiezione del linguaggio C++/WinRT è uint32_t GetMany(winrt::array_view<T> items);.

MoveNext()

Passa l'iteratore all'elemento successivo della raccolta.

Si applica a

Vedi anche