winrt::vector_base struct template (C++/WinRT)

Kelas dasar tempat Anda dapat memperoleh untuk mengimplementasikan koleksi tujuan umum kustom Anda sendiri yang tidak dapat diamati. Untuk informasi selengkapnya, dan contoh kode, lihat Koleksi dengan C++/WinRT.

Sintaks

template <typename D, typename T>
struct vector_base : vector_view_base<D, T, winrt::impl::collection_version>

Parameter templat

typename D Nama jenis turunan Anda.

typename T Jenis elemen dalam vector_base.

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_base::Tambahkan fungsi Menambahkan elemen ke akhir objek vector_base .
vector_base::Clear function Menghapus semua elemen dari objek vector_base .
vector_base::Fungsi pertama Mengambil IIterator yang mewakili elemen pertama dalam objek vector_base .
fungsi vector_base::GetAt Mengambil elemen pada indeks yang ditentukan dalam objek vector_base .
vector_base::Fungsi GetMany Mengambil kumpulan elemen dalam objek vector_base yang dimulai pada indeks yang diberikan.
vector_base::Fungsi GetView Mengambil tampilan objek vector_base yang tidak dapat diubah.
vector_base::IndexOf function Mengambil indeks elemen yang ditentukan dalam objek vector_base .
fungsi vector_base::InsertAt Menyisipkan elemen pada indeks yang ditentukan dalam objek vector_base .
fungsi vector_base::RemoveAt Menghapus elemen pada indeks yang ditentukan dalam objek vector_base .
vector_base::RemoveAtEnd (Fungsi RemoveAtEnd) Menghapus elemen terakhir dari objek vector_base .
vector_base::ReplaceAll function Mengganti semua elemen dalam objek vector_base dengan elemen yang ditentukan.
fungsi vector_base::SetAt Mengatur nilai elemen pada indeks yang ditentukan dalam objek vector_base .
vector_base::Fungsi ukuran Mengambil jumlah elemen dalam objek vector_base .

Iterator

vector_base adalah rentang, dan rentang tersebut ditentukan oleh fungsi bebas internal (yang masing-masing mengambil iterator) yang kompatibel dengan fitur bahasa standar. Karena itu, Anda dapat menghitung elemen dalam objek vector_base dengan pernyataan berbasis for rentang.

Anda juga dapat mengambil IIterator dari fungsi vector_base::First , dan menggunakannya untuk melakukan iterasi melalui elemen dalam objek vector_base .

...
#include <iostream>
using namespace winrt;
using namespace Windows::Foundation::Collections;
...
struct MyVector :
    implements<MyVector, IVector<float>, IVectorView<float>, IIterable<float>>,
    winrt::vector_base<MyVector, float>
{
    auto& get_container() const noexcept
    {
        return m_values;
    }

    auto& get_container() noexcept
    {
        return m_values;
    }

private:
    std::vector<float> m_values{ 0.1f, 0.2f, 0.3f };
};
...
IVector<float> coll{ winrt::make<MyVector>() };

for (auto const& el : coll)
{
    std::wcout << el << std::endl;
}

IIterator<float> it{ coll.First() };
while (it.HasCurrent())
{
    std::wcout << it.Current() << std::endl;
    it.MoveNext();
}

vector_base::Tambahkan fungsi

Menambahkan elemen ke akhir objek vector_base .

Sintaks

void Append(T const& value);

Parameter

value Elemen yang akan ditambahkan.

vector_base::Clear function

Menghapus semua elemen dari objek vector_base .

Sintaks

void Clear() noexcept;

vector_base::Fungsi pertama

Mengambil IIterator yang mewakili elemen pertama dalam objek vector_base .

Sintaks

auto First();

Mengembalikan nilai

IIterator yang mewakili elemen pertama dalam objek vector_base.

fungsi vector_base::GetAt

Mengambil elemen pada indeks yang ditentukan dalam objek vector_base .

Sintaks

T GetAt(uint32_t const index) const;

Parameter

index Indeks elemen berbasis nol.

Mengembalikan nilai

Elemen pada indeks yang ditentukan dalam objek vector_base .

vector_base::Fungsi GetMany

Mengambil kumpulan elemen dalam objek vector_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_base::Fungsi GetView

Mengambil tampilan objek vector_base yang tidak dapat diubah.

Sintaks

winrt::Windows::Foundation::Collections::IVectorView<T> GetView() const noexcept;

Mengembalikan nilai

IVectorView yang berisi tampilan vector_base yang tidak dapat diubah.

vector_base::IndexOf function

Mengambil indeks elemen yang ditentukan dalam objek vector_base .

Sintaks

bool IndexOf(T const& value, uint32_t& index) const noexcept;

Parameter

value Elemen , dalam objek vector_base , untuk mencari .

index Indeks elemen berbasis nol jika elemen ditemukan, jika tidak, jumlah elemen dalam objek vector_base .

Mengembalikan nilai

true jika elemen ditemukan, jika tidak false.

fungsi vector_base::InsertAt

Menyisipkan elemen pada indeks yang ditentukan dalam objek vector_base .

Sintaks

void InsertAt(uint32_t const index, T const& value);

Parameter

index Indeks berbasis nol untuk menyisipkan elemen.

value Elemen yang akan disisipkan.

fungsi vector_base::RemoveAt

Menghapus elemen pada indeks yang ditentukan dalam objek vector_base .

Sintaks

void RemoveAt(uint32_t const index);

Parameter

index Indeks berbasis nol dari elemen yang akan dihapus.

vector_base::RemoveAtEnd (Fungsi RemoveAtEnd)

Menghapus elemen terakhir dari objek vector_base .

Sintaks

void RemoveAtEnd();

vector_base::ReplaceAll function

Mengganti semua elemen dalam objek vector_base dengan elemen yang ditentukan.

Sintaks

void ReplaceAll(array_view<T const> value);

Parameter

valueArray_view yang berisi elemen baru.

fungsi vector_base::SetAt

Mengatur nilai elemen pada indeks yang ditentukan dalam objek vector_base .

Sintaks

void SetAt(uint32_t const index, T const& value);

Parameter

index Indeks berbasis nol dari elemen yang nilainya akan ditetapkan.

value Nilai elemen yang akan diatur.

vector_base::Fungsi ukuran

Mengambil jumlah elemen dalam objek vector_base .

Sintaks

uint32_t Size() const noexcept;

Mengembalikan nilai

Nilai yang menunjukkan jumlah elemen dalam objek vector_base .

Lihat juga