Condividi tramite


Modello di struct winrt::vector_view_base (C++/WinRT)

Classe di base da cui è possibile derivare per implementare una visualizzazione personalizzata o un intervallo di una sequenza contigua di elementi in una raccolta per utilizzo generico. Per altre info ed esempi di codice, vedi Raccolte con C++/WinRT.

Sintassi

template <typename D, typename T, typename Version = winrt::impl::no_collection_version>
struct vector_view_base : iterable_base<D, T, Version>

Parametri di modelli

typename D Nome del tipo derivato.

typename T Tipo di elementi che l'vector_view_base viste o si estende.

typename Version Tipo che fornisce i criteri di controllo delle versioni e i servizi alla raccolta.

Requisiti

SDK minimo supportato: Windows SDK versione 10.0.17763.0 (Windows 10, versione 1809)

Spazio dei nomi: winrt

Intestazione: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (incluso per impostazione predefinita)

Funzioni membro

Funzione Descrizione
funzione vector_view_base::First Recupera un IIterator che rappresenta il primo elemento visualizzato dall'oggetto vector_view_base .
funzione vector_view_base::GetAt Recupera l'elemento in corrispondenza dell'indice specificato visualizzato dall'oggetto vector_view_base .
funzione vector_view_base::GetMany Recupera una raccolta di elementi visualizzati dall'oggetto vector_view_base a partire dall'indice specificato.
funzione vector_view_base::IndexOf Recupera l'indice di un elemento specificato visualizzato dall'oggetto vector_view_base .
funzione vector_view_base::Size Recupera il numero di elementi visualizzati dall'oggetto vector_view_base .

Iterators

Un vector_view_base è un intervallo e tale intervallo viene definito da funzioni libere interne (ognuna delle quali recupera un iteratore) compatibili con le funzionalità del linguaggio standard. Per questo motivo, è possibile enumerare gli elementi visualizzati da un oggetto vector_view_base con un'istruzione basata su for intervallo.

È anche possibile recuperare un IIterator dalla funzione vector_view_base::First e usarlo per scorrere gli elementi visualizzati da un oggetto 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();
}

funzione vector_view_base::First

Recupera un IIterator che rappresenta il primo elemento visualizzato dall'oggetto vector_view_base .

Sintassi

auto First();

Valore restituito

IIterator che rappresenta il primo elemento visualizzato dall'oggetto vector_view_base.

funzione vector_view_base::GetAt

Recupera l'elemento in corrispondenza dell'indice specificato visualizzato dall'oggetto vector_view_base .

Sintassi

T GetAt(uint32_t const index) const;

Parametri

index Indice di elementi in base zero.

Valore restituito

Elemento in corrispondenza dell'indice specificato visualizzato dall'oggetto vector_view_base .

funzione vector_view_base::GetMany

Recupera una raccolta di elementi visualizzati dall'oggetto vector_view_base a partire dall'indice specificato.

Sintassi

uint32_t GetMany(uint32_t const startIndex, array_view<T> values) const;

Parametri

startIndex Indice dell'elemento in base zero da iniziare in corrispondenza di .

values Un array_view in cui copiare gli elementi.

Valore restituito

Valore che rappresenta il numero di elementi recuperati.

funzione vector_view_base::IndexOf

Recupera l'indice di un elemento specificato visualizzato dall'oggetto vector_view_base .

Sintassi

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

Parametri

value Elemento, visualizzato dall'oggetto vector_view_base , da cercare.

index Indice in base zero dell'elemento se l'elemento viene trovato; in caso contrario, il numero di elementi visualizzati dall'oggetto vector_view_base .

Valore restituito

true se l'elemento viene trovato; in caso contrario false, .

funzione vector_view_base::Size

Recupera il numero di elementi visualizzati dall'oggetto vector_view_base .

Sintassi

uint32_t Size() const noexcept;

Valore restituito

Valore che rappresenta il numero di elementi visualizzati dall'oggetto vector_view_base .

Vedi anche