winrt::vector_view_base modèle de struct (C++/WinRT)
Classe de base à partir de laquelle vous pouvez dériver pour implémenter votre propre vue personnalisée ou étendue, d’une séquence contiguë d’éléments dans une collection à usage général. Pour plus d’informations et des exemples de code, consultez Collections avec C++/WinRT.
Syntax
template <typename D, typename T, typename Version = winrt::impl::no_collection_version>
struct vector_view_base : iterable_base<D, T, Version>
Paramètres de modèle
typename D
Nom de votre type dérivé.
typename T
Type des éléments que les vues vector_view_base ou étendues.
typename Version
Type qui fournit une stratégie de contrôle de version et des services à la collection.
Spécifications
Kit de développement logiciel (SDK) pris en charge minimum : Windows SDK version 10.0.0.17763.0 (Windows 10, version 1809)
Espace de noms : winrt
En-tête : %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (inclus par défaut)
Fonctions Membre
Fonction | Description |
---|---|
vector_view_base::First, fonction | Récupère un IIterator représentant le premier élément consulté par l’objet vector_view_base . |
vector_view_base::GetAt, fonction | Récupère l’élément à l’index spécifié consulté par l’objet vector_view_base . |
vector_view_base::GetMany, fonction | Récupère une collection d’éléments consultés par l’objet vector_view_base commençant à l’index donné. |
vector_view_base::IndexOf, fonction | Récupère l’index d’un élément spécifié consulté par l’objet vector_view_base . |
vector_view_base::Size, fonction | Récupère le nombre d’éléments consultés par l’objet vector_view_base . |
Iterators
Une vector_view_base est une plage et cette plage est définie par des fonctions libres internes (chacune d’elles récupère un itérateur) compatibles avec les fonctionnalités de langage standard. En raison de cela, vous pouvez énumérer les éléments consultés par un objet vector_view_base avec une instruction basée sur for
une plage.
Vous pouvez également récupérer un IIterator à partir de la fonction vector_view_base:First et l’utiliser pour itérer dans les éléments consultés par un objet 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::First, fonction
Récupère un IIterator représentant le premier élément consulté par l’objet vector_view_base .
Syntaxe
auto First();
Valeur de retour
IIterator représentant le premier élément consulté par l’objet vector_view_base.
vector_view_base::GetAt, fonction
Récupère l’élément à l’index spécifié consulté par l’objet vector_view_base .
Syntaxe
T GetAt(uint32_t const index) const;
Paramètres
index
Index d’élément de base zéro.
Valeur retournée
Élément à l’index spécifié consulté par l’objet vector_view_base .
vector_view_base::GetMany, fonction
Récupère une collection d’éléments consultés par l’objet vector_view_base commençant à l’index donné.
Syntaxe
uint32_t GetMany(uint32_t const startIndex, array_view<T> values) const;
Paramètres
startIndex
Index d’élément de base zéro à démarrer.
values
Un array_view pour copier les éléments dans.
Valeur retournée
Valeur représentant le nombre d’éléments récupérés.
vector_view_base::IndexOf, fonction
Récupère l’index d’un élément spécifié consulté par l’objet vector_view_base .
Syntaxe
bool IndexOf(T const& value, uint32_t& index) const noexcept;
Paramètres
value
Élément, consulté par l’objet vector_view_base , à rechercher.
index
Index de base zéro de l’élément si l’élément est trouvé, sinon le nombre d’éléments consultés par l’objet vector_view_base .
Valeur retournée
true
si l’élément est trouvé, sinon false
.
vector_view_base::Size, fonction
Récupère le nombre d’éléments consultés par l’objet vector_view_base .
Syntaxe
uint32_t Size() const noexcept;
Valeur de retour
Valeur représentant le nombre d’éléments consultés par l’objet vector_view_base .