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.

valuesArray_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 .

Lihat juga