winrt::vector_view_base struct template (C++/WinRT)
Kelas dasar tempat Anda dapat memperoleh untuk mengimplementasikan tampilan kustom Anda sendiri, atau rentang, dari urutan elemen yang berdekatan dalam koleksi tujuan umum. Untuk informasi selengkapnya, dan contoh kode, lihat Koleksi dengan C++/WinRT.
Sintaks
template <typename D, typename T, typename Version = winrt::impl::no_collection_version>
struct vector_view_base : iterable_base<D, T, Version>
Parameter templat
typename D
Nama jenis turunan Anda.
typename T
Jenis elemen yang dilihat vector_view_base , atau rentang.
typename Version
Jenis yang menyediakan kebijakan penerapan versi dan layanan ke koleksi.
Persyaratan
SDK minimum yang didukung: Windows SDK versi 10.0.17763.0 (Windows 10, versi 1809)
Namespace: winrt
Header: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (disertakan secara default)
Fungsi anggota
Fungsi | Deskripsi |
---|---|
vector_view_base::Fungsi pertama | Mengambil IIterator yang mewakili elemen pertama yang dilihat oleh objek vector_view_base . |
vector_view_base::Fungsi GetAt | Mengambil elemen pada indeks yang ditentukan yang dilihat oleh objek vector_view_base . |
fungsi vector_view_base::GetMany | Mengambil kumpulan elemen yang dilihat oleh objek vector_view_base yang dimulai pada indeks yang diberikan. |
vector_view_base::IndexOf function | Mengambil indeks elemen tertentu yang dilihat oleh objek vector_view_base . |
vector_view_base::Fungsi ukuran | Mengambil jumlah elemen yang dilihat oleh objek vector_view_base . |
Iterator
vector_view_base adalah rentang, dan rentang tersebut didefinisikan oleh fungsi bebas internal (yang masing-masing mengambil iterator) yang kompatibel dengan fitur bahasa standar. Karena itu, Anda dapat menghitung elemen yang dilihat oleh objek vector_view_base dengan pernyataan berbasis for
rentang.
Anda juga dapat mengambil IIterator dari fungsi vector_view_base::First , dan menggunakannya untuk melakukan iterasi melalui elemen yang dilihat oleh objek vector_view_base .
...
#include <iostream>
using namespace winrt;
using namespace Windows::Foundation::Collections;
...
struct MyVectorView :
implements<MyVectorView, IVectorView<float>, IIterable<float>>,
winrt::vector_view_base<MyVectorView, float>
{
auto& get_container() const noexcept
{
return m_values;
}
private:
std::vector<float> m_values{ 0.1f, 0.2f, 0.3f };
};
...
IVectorView<float> view{ winrt::make<MyVectorView>() };
for (float el : view)
{
std::wcout << el << std::endl;
}
IIterator<float> it{ view.First() };
while (it.HasCurrent())
{
std::wcout << it.Current() << std::endl;
it.MoveNext();
}
vector_view_base::Fungsi pertama
Mengambil IIterator yang mewakili elemen pertama yang dilihat oleh objek vector_view_base .
Sintaks
auto First();
Mengembalikan nilai
IIterator yang mewakili elemen pertama yang dilihat oleh objek vector_view_base.
vector_view_base::Fungsi GetAt
Mengambil elemen pada indeks yang ditentukan yang dilihat oleh objek vector_view_base .
Sintaks
T GetAt(uint32_t const index) const;
Parameter
index
Indeks elemen berbasis nol.
Mengembalikan nilai
Elemen pada indeks yang ditentukan ditampilkan oleh objek vector_view_base .
fungsi vector_view_base::GetMany
Mengambil kumpulan elemen yang dilihat oleh objek vector_view_base yang dimulai pada indeks yang diberikan.
Sintaks
uint32_t GetMany(uint32_t const startIndex, array_view<T> values) const;
Parameter
startIndex
Indeks elemen berbasis nol untuk memulai.
values
Array_view untuk menyalin item.
Mengembalikan nilai
Nilai yang menunjukkan jumlah elemen yang diambil.
vector_view_base::IndexOf function
Mengambil indeks elemen tertentu yang dilihat oleh objek vector_view_base .
Sintaks
bool IndexOf(T const& value, uint32_t& index) const noexcept;
Parameter
value
Elemen , dilihat oleh objek vector_view_base , untuk dicari.
index
Indeks berbasis nol dari elemen jika elemen ditemukan, jika tidak, jumlah elemen yang dilihat oleh objek vector_view_base .
Mengembalikan nilai
true
jika elemen ditemukan, jika tidak false
.
vector_view_base::Fungsi ukuran
Mengambil jumlah elemen yang dilihat oleh objek vector_view_base .
Sintaks
uint32_t Size() const noexcept;
Mengembalikan nilai
Nilai yang menunjukkan jumlah elemen yang dilihat oleh objek vector_view_base .