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)
|
Комментарии
Интерфейс IIterator<T> явно не скрыт языковой проекцией для .NET, но интерфейс IIterable\<T\> скрыт. В большинстве сценариев .NET, требующих API для объекта итератора, вы, вероятно, будете использовать IEnumerator<T> (возможно, с определенным ограничением типа), как это было получено при вызове IEnumerable<T>. GetEnumerator.
Если в коллекцию вносятся изменения, такие как добавление, изменение или удаление элементов, итератор может создавать исключение для всех операций.
Функции расширения C++/WinRT
Примечание
Функции расширения существуют в типах проекций C++/WinRT для определенных API среда выполнения Windows. Например, winrt::Windows::Foundation::IAsyncAction — это тип проекции C++/WinRT для IAsyncAction. Функции расширения не являются частью поверхности двоичного интерфейса приложения (ABI) фактических типов среда выполнения Windows, поэтому они не перечислены как члены API среда выполнения Windows. Но их можно вызывать из любого проекта C++/WinRT. См. статью Функции C++/WinRT, расширяющие среда выполнения Windows API.
operator++();
operator++(int);
Эти операторы разрешают циклы с диапазоном для среда выполнения Windows итерируемых объектов. Оператор префикса и постфикса ++
перемещает итератор и присваивает ему значение , 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[]) |
Извлекает несколько элементов из итератора.
|
MoveNext() |
Перемещает итератор к следующему элементу в коллекции. |