winrt::vector_base, modèle de struct (C++/WinRT)
Classe de base à partir de laquelle vous pouvez dériver pour implémenter votre propre collection personnalisée à usage général non observable. Pour plus d’informations et des exemples de code, consultez Collections avec C++/WinRT.
Syntax
template <typename D, typename T>
struct vector_base : vector_view_base<D, T, winrt::impl::collection_version>
Paramètres de modèle
typename D
Nom de votre type dérivé.
typename T
Type des éléments dans le vector_base.
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_base::Append, fonction | Ajoute un élément à la fin de l’objet vector_base . |
vector_base::Clear, fonction | Supprime tous les éléments de l’objet vector_base . |
vector_base::First, fonction | Récupère un IIterator représentant le premier élément de l’objet vector_base . |
vector_base::GetAt, fonction | Récupère l’élément à l’index spécifié dans l’objet vector_base . |
vector_base::GetMany, fonction | Récupère une collection d’éléments dans l’objet vector_base commençant à l’index donné. |
vector_base::GetView, fonction | Récupère une vue immuable de l’objet vector_base . |
vector_base::IndexOf, fonction | Récupère l’index d’un élément spécifié dans l’objet vector_base . |
vector_base::InsertAt, fonction | Insère un élément à l’index spécifié dans l’objet vector_base . |
vector_base::RemoveAt, fonction | Supprime l’élément à l’index spécifié dans l’objet vector_base . |
vector_base::RemoveAtEnd, fonction | Supprime le dernier élément de l’objet vector_base . |
vector_base::ReplaceAll, fonction | Remplace tous les éléments de l’objet vector_base par les éléments spécifiés. |
vector_base::SetAt, fonction | Définit la valeur de l’élément à l’index spécifié dans l’objet vector_base . |
vector_base::Size, fonction | Récupère le nombre d’éléments de l’objet vector_base . |
Iterators
Une vector_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 d’un objet vector_base avec une instruction basée sur for
une plage.
Vous pouvez également récupérer un IIterator à partir de la fonction vector_base::First et l’utiliser pour itérer dans les éléments d’un objet 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::Append, fonction
Ajoute un élément à la fin de l’objet vector_base .
Syntaxe
void Append(T const& value);
Paramètres
value
Élément à ajouter.
vector_base::Clear, fonction
Supprime tous les éléments de l’objet vector_base .
Syntax
void Clear() noexcept;
vector_base::First, fonction
Récupère un IIterator représentant le premier élément de l’objet vector_base .
Syntaxe
auto First();
Valeur de retour
IIterator représentant le premier élément de l’objet vector_base.
vector_base::GetAt, fonction
Récupère l’élément à l’index spécifié dans l’objet vector_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é dans l’objet vector_base .
vector_base::GetMany, fonction
Récupère une collection d’éléments dans l’objet vector_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_base::GetView, fonction
Récupère une vue immuable de l’objet vector_base .
Syntaxe
winrt::Windows::Foundation::Collections::IVectorView<T> GetView() const noexcept;
Valeur de retour
IVectorView contenant une vue immuable du vector_base.
vector_base::IndexOf, fonction
Récupère l’index d’un élément spécifié dans l’objet vector_base .
Syntaxe
bool IndexOf(T const& value, uint32_t& index) const noexcept;
Paramètres
value
Élément, dans l’objet vector_base , à rechercher.
index
Index de base zéro de l’élément si l’élément est trouvé, sinon le nombre d’éléments dans l’objet vector_base .
Valeur retournée
true
si l’élément est trouvé, sinon false
.
vector_base::InsertAt, fonction
Insère un élément à l’index spécifié dans l’objet vector_base .
Syntaxe
void InsertAt(uint32_t const index, T const& value);
Paramètres
index
Index de base zéro auquel insérer l’élément.
value
Élément à insérer.
vector_base::RemoveAt, fonction
Supprime l’élément à l’index spécifié dans l’objet vector_base .
Syntaxe
void RemoveAt(uint32_t const index);
Paramètres
index
Index de base zéro de l’élément à supprimer.
vector_base::RemoveAtEnd, fonction
Supprime le dernier élément de l’objet vector_base .
Syntax
void RemoveAtEnd();
fonction vector_base::ReplaceAll
Remplace tous les éléments de l’objet vector_base par les éléments spécifiés.
Syntaxe
void ReplaceAll(array_view<T const> value);
Paramètres
value
Un array_view contenant les nouveaux éléments.
fonction vector_base::SetAt
Définit la valeur de l’élément à l’index spécifié dans l’objet vector_base .
Syntaxe
void SetAt(uint32_t const index, T const& value);
Paramètres
index
Index de base zéro de l’élément dont la valeur doit être définie.
value
Valeur de l’élément à définir.
fonction vector_base::Size
Récupère le nombre d’éléments dans l’objet vector_base .
Syntaxe
uint32_t Size() const noexcept;
Valeur de retour
Valeur représentant le nombre d’éléments dans l’objet vector_base .