IIterator<T> Interface

Définition

Prend en charge l’itération simple sur une collection.

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)

Paramètres de type

T
Dérivé
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (introduit dans v1.0)

Remarques

L’interface IIterator<T> n’est pas explicitement masquée par la projection de langage pour .NET, mais l’interface IIterable\<T\> est masquée. Pour la plupart des scénarios .NET qui nécessitent spécifiquement une API pour l’objet itérateur, vous utiliserez probablement IEnumerator<T> (peut-être avec une contrainte de type spécifique) comme obtenu en appelant IEnumerable<T>. GetEnumerator.

Si des modifications sont apportées à la collection, telles que l’ajout, la modification ou la suppression d’éléments, l’itérateur est autorisé à déclencher une exception pour toutes les opérations.

Fonctions d’extension C++/WinRT

Notes

Des fonctions d’extension existent sur les types de projection C++/WinRT pour certaines API Windows Runtime. Par exemple, winrt::Windows::Foundation::IAsyncAction est le type de projection C++/WinRT pour IAsyncAction. Les fonctions d’extension ne font pas partie de la surface d’interface binaire d’application (ABI) des types Windows Runtime réels. Elles ne sont donc pas répertoriées en tant que membres des API Windows Runtime. Mais vous pouvez les appeler à partir de n’importe quel projet C++/WinRT. Consultez Fonctions C++/WinRT qui étendent Windows Runtime API.

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

Ces opérateurs autorisent les boucles range-for sur Windows Runtime objets itérables. L’opérateur préfixe et postfix ++ avance l’itérateur et le définit sur nullptr si l’itérateur est terminé.

T operator*() const;

Le déréférencement de l’itérateur équivaut à appeler 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;

Types imbriqués qui améliorent l’interopérabilité avec les itérateurs C++.

Propriétés

Current

Obtient l'élément en cours dans la collection.

HasCurrent

Obtient une valeur qui indique si l’itérateur fait référence à un élément actif ou se trouve à la fin de la collection.

Méthodes

GetMany(T[])

Récupère plusieurs éléments à partir de l’itérateur.

C++/WinRT La syntaxe correcte pour la projection de langage C++/WinRT est uint32_t GetMany(winrt::array_view<T> items);.

MoveNext()

Avance l’itérateur vers l’élément suivant de la collection.

S’applique à

Voir aussi