IIterator<T> 接口

定义

支持对集合进行简单迭代。

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)

类型参数

T
派生
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.FoundationContract (在 v1.0 中引入)

注解

.NET 的语言投影未显式隐藏 IIterator<T> 接口,但 IIterable\<T\> 接口是隐藏的。 对于大多数专门需要迭代器对象的 API 的 .NET 方案,你可能会使用 IEnumerator<T> (可能具有通过调用 IEnumerable<T> 获取的特定类型约束) 。GetEnumerator

如果对集合进行了更改(例如添加、修改或删除元素),则允许迭代器为所有操作引发异常。

C++/WinRT 扩展函数

注意

某些Windows 运行时 API 的 C++/WinRT 投影类型上存在扩展函数。 例如, winrt::Windows::Foundation::IAsyncActionIAsyncAction 的 C++/WinRT 投影类型。 扩展函数不是应用程序二进制接口的一部分, (ABI) 实际Windows 运行时类型的图面,因此它们不会列为Windows 运行时 API 的成员。 但可以从任何 C++/WinRT 项目中调用它们。 请参阅扩展Windows 运行时 API 的 C++/WinRT 函数

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

这些运算符允许对Windows 运行时可迭代对象进行 ranged-for 循环。 前缀和后缀 ++ 运算符将推进迭代器,如果迭代器已完成,则将其设置为 nullptr

T operator*() const;

取消引用迭代器等效于调用 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;

提高与 C++ 迭代器互操作性的嵌套类型。

属性

Current

获取集合中的当前项。

HasCurrent

获取一个值,该值指示迭代器是引用当前项还是位于集合的末尾。

方法

GetMany(T[])

从迭代器检索多个项。

C++/WinRT C++/WinRT 语言投影的正确语法为 uint32_t GetMany(winrt::array_view<T> items);

MoveNext()

将迭代器推进到集合中的下一项。

适用于

另请参阅