Modello di struct winrt::vector_base (C++/WinRT)
Classe di base da cui è possibile derivare per implementare una raccolta personalizzata non osservabile per utilizzo generico. Per altre info ed esempi di codice, vedi Raccolte con C++/WinRT.
Sintassi
template <typename D, typename T>
struct vector_base : vector_view_base<D, T, winrt::impl::collection_version>
Parametri di modelli
typename D
Nome del tipo derivato.
typename T
Tipo degli elementi nel vector_base.
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_base::Append | Aggiunge un elemento alla fine dell'oggetto vector_base . |
funzione vector_base::Clear | Rimuove tutti gli elementi dall'oggetto vector_base . |
funzione vector_base::First | Recupera un IIterator che rappresenta il primo elemento dell'oggetto vector_base . |
funzione vector_base::GetAt | Recupera l'elemento in corrispondenza dell'indice specificato nell'oggetto vector_base . |
funzione vector_base::GetMany | Recupera una raccolta di elementi nell'oggetto vector_base a partire dall'indice specificato. |
funzione vector_base::GetView | Recupera una visualizzazione non modificabile dell'oggetto vector_base . |
funzione vector_base::IndexOf | Recupera l'indice di un elemento specificato nell'oggetto vector_base . |
funzione vector_base::InsertAt | Inserisce un elemento in corrispondenza dell'indice specificato nell'oggetto vector_base . |
funzione vector_base::RemoveAt | Rimuove l'elemento in corrispondenza dell'indice specificato nell'oggetto vector_base . |
funzione vector_base::RemoveAtEnd | Rimuove l'ultimo elemento dall'oggetto vector_base . |
funzione vector_base::ReplaceAll | Sostituisce tutti gli elementi dell'oggetto vector_base con gli elementi specificati. |
funzione vector_base::SetAt | Imposta il valore dell'elemento in corrispondenza dell'indice specificato nell'oggetto vector_base . |
funzione vector_base::Size | Recupera il numero di elementi nell'oggetto vector_base . |
Iterators
Un vector_base è un intervallo e tale intervallo è 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 in un oggetto vector_base con un'istruzione basata su for
intervallo.
È anche possibile recuperare un IIterator dalla funzione vector_base::First e usarlo per scorrere gli elementi in un oggetto 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();
}
funzione vector_base::Append
Aggiunge un elemento alla fine dell'oggetto vector_base .
Sintassi
void Append(T const& value);
Parametri
value
Elemento da accodare.
funzione vector_base::Clear
Rimuove tutti gli elementi dall'oggetto vector_base .
Sintassi
void Clear() noexcept;
funzione vector_base::First
Recupera un IIterator che rappresenta il primo elemento dell'oggetto vector_base .
Sintassi
auto First();
Valore restituito
IIterator che rappresenta il primo elemento dell'oggetto vector_base.
funzione vector_base::GetAt
Recupera l'elemento in corrispondenza dell'indice specificato nell'oggetto vector_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 nell'oggetto vector_base .
funzione vector_base::GetMany
Recupera una raccolta di elementi nell'oggetto vector_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_base::GetView
Recupera una visualizzazione non modificabile dell'oggetto vector_base .
Sintassi
winrt::Windows::Foundation::Collections::IVectorView<T> GetView() const noexcept;
Valore restituito
Oggetto IVectorView contenente una visualizzazione non modificabile del vector_base.
funzione vector_base::IndexOf
Recupera l'indice di un elemento specificato nell'oggetto vector_base .
Sintassi
bool IndexOf(T const& value, uint32_t& index) const noexcept;
Parametri
value
Elemento, nell'oggetto vector_base , da cercare.
index
Indice in base zero dell'elemento se viene trovato l'elemento; in caso contrario, il numero di elementi nell'oggetto vector_base .
Valore restituito
true
se l'elemento viene trovato; in caso contrario false
, .
funzione vector_base::InsertAt
Inserisce un elemento in corrispondenza dell'indice specificato nell'oggetto vector_base .
Sintassi
void InsertAt(uint32_t const index, T const& value);
Parametri
index
Indice in base zero in corrispondenza del quale inserire l'elemento.
value
Elemento da inserire.
funzione vector_base::RemoveAt
Rimuove l'elemento in corrispondenza dell'indice specificato nell'oggetto vector_base .
Sintassi
void RemoveAt(uint32_t const index);
Parametri
index
Indice in base zero dell'elemento da rimuovere.
funzione vector_base::RemoveAtEnd
Rimuove l'ultimo elemento dall'oggetto vector_base .
Sintassi
void RemoveAtEnd();
funzione vector_base::ReplaceAll
Sostituisce tutti gli elementi nell'oggetto vector_base con gli elementi specificati.
Sintassi
void ReplaceAll(array_view<T const> value);
Parametri
value
Array_view contenente i nuovi elementi.
funzione vector_base::SetAt
Imposta il valore dell'elemento in corrispondenza dell'indice specificato nell'oggetto vector_base .
Sintassi
void SetAt(uint32_t const index, T const& value);
Parametri
index
Indice in base zero dell'elemento il cui valore da impostare.
value
Valore dell'elemento da impostare.
funzione vector_base::Size
Recupera il numero di elementi nell'oggetto vector_base .
Sintassi
uint32_t Size() const noexcept;
Valore restituito
Valore che rappresenta il numero di elementi nell'oggetto vector_base .