IIterator<T> Antarmuka

Definisi

Mendukung iterasi sederhana melalui koleksi.

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)

Jenis parameter

T
Turunan
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (diperkenalkan dalam v1.0)

Keterangan

Antarmuka IIterator<T> tidak secara eksplisit disembunyikan oleh proyeksi bahasa untuk .NET, tetapi antarmuka IIterable\<T\> disembunyikan. Untuk sebagian besar skenario .NET yang secara khusus memerlukan API untuk objek iterator, Anda mungkin akan menggunakan IEnumerator<T> (mungkin dengan batasan jenis tertentu) seperti yang diperoleh dari memanggil IEnumerable<T>. GetEnumerator.

Jika perubahan dilakukan pada koleksi, seperti menambahkan, memodifikasi, atau menghapus elemen, iterator diizinkan untuk menaikkan pengecualian untuk semua operasi.

Fungsi ekstensi C++/WinRT

Catatan

Fungsi ekstensi ada pada jenis proyeksi C++/WinRT untuk API Windows Runtime tertentu. Misalnya, winrt::Windows::Foundation::IAsyncAction adalah jenis proyeksi C++/WinRT untuk IAsyncAction. Fungsi ekstensi bukan bagian dari permukaan antarmuka biner aplikasi (ABI) dari jenis Windows Runtime yang sebenarnya, sehingga tidak terdaftar sebagai anggota API Windows Runtime. Tetapi Anda dapat memanggilnya dari dalam proyek C++/WinRT apa pun. Lihat fungsi C++/WinRT yang memperluas WINDOWS Runtime API.

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

Operator ini mengizinkan perulangan rentang-untuk melalui objek yang dapat diulang Windows Runtime. Operator awalan dan pascafiks ++ memajukan iterator, dan mengaturnya ke nullptr jika iterator telah selesai.

T operator*() const;

Dereferensi iterator setara dengan memanggil Saat Ini.

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;

Jenis berlapis yang meningkatkan interoperabilitas dengan iterator C++.

Properti

Current

Mendapatkan item saat ini dalam koleksi.

HasCurrent

Mendapatkan nilai yang menunjukkan apakah iterator merujuk ke item saat ini atau berada di akhir koleksi.

Metode

GetMany(T[])

Mengambil beberapa item dari iterator.

C++/WinRT Sintaks yang benar untuk proyeksi bahasa C++/WinRT adalah uint32_t GetMany(winrt::array_view<T> items);.

MoveNext()

Memajukan iterator ke item berikutnya dalam koleksi.

Berlaku untuk

Lihat juga